当前位置: 首页 > 知识库问答 >
问题:

声纳Qube中的工程分离

田巴英
2023-03-14

我有一个项目结构,如下所示。

Cloud projects文件夹有四种类型的项目(eco-projects,evn-projects,met-projects,svn-projects)

每种类型的项目又包含四个不同的项目,比如在生态项目中,我们有生态-1-项目,生态-2-项目,生态-3-项目,生态-4-项目。

# Required metadata
sonar.projectKey=cloud-projects
sonar.projectName=Cloud Projects
sonar.projectVersion=1.0
# Language
sonar.language=java

# Encoding of the source files
sonar.sourceEncoding=UTF-8

sonar.modules=eco-projects, evn-projects, met-projects, svn-projects

eco-projects.sonar.projectName=eco-projects
eco-projects.sonar.language=java
eco-projects.sonar.modules=eco-1-projects, eco-2-projects, eco-3-projects,eco-4-projects

eco-projects.eco-1-projects.sonar.projectName=eco-1-projects
eco-projects.eco-1-projects.sonar.sources=docroot/WEB-INF/src
eco-projects.eco-1-projects.sonar.language=java

eco-projects.eco-2-projects.sonar.projectName=eco-2-projects
eco-projects.eco-2-projects.sonar.sources=docroot/WEB-INF/src
eco-projects.eco-2-projects.sonar.language=java

eco-projects.eco-3-projects.sonar.projectName=eco-3-projects
eco-projects.eco-3-projects.sonar.sources=docroot/WEB-INF/src
eco-projects.eco-3-projects.sonar.language=java

eco-projects.eco-4-projects.sonar.projectName=eco-4-projects
eco-projects.eco-4-projects.sonar.sources=docroot/WEB-INF/src
eco-projects.eco-4-projects.sonar.language=java
:
:
:

共有1个答案

章光华
2023-03-14

AFAIK声纳不支持这样的东西。它只支持项目、模块和文件。这意味着您已经添加了(至少?)1额外的层声纳不能工作。

也许您可以跳过顶级的“云项目”级别,为每个项目类型创建一个sonar.properties文件?如果我们以eco-projects为例,您需要为此创建一个sonar.properties文件,并将eco-1-projects和eco-2-projects等定义为模块。这意味着生态项目在声纳仪表板上是可见的,如果你点击它并进入“代码”,你会看到所有模块。单击一个模块以查看文件(假设在您的情况下是文件级别)。

顺便说一句,你也可以使用声纳仪表板作为一个额外的层,例如,通过添加所有的生态项目在1仪表板。

 类似资料:
  • 我正试图从声纳生成定制的分析报告。我正在使用sonar-ws-client。我的代码是: 我能够获得大部分值,但是总是返回。有没有办法得到7天、15天和30天的变化值?

  • 我花了好几天时间试图让SonarQube显示Maven Jacoco插件的单元测试代码覆盖率。 我卡住的错误消息是 目标/站点/Jacoco/index.html下的报告按预期生成,并包含行突出显示和行号。我读过,如果编译的类中不包含调试信息,那么突出显示和行号将不会显示在此报告中。 我已经阅读了Maven默认包含调试信息,但是,以防万一我在项目maven-编译器插件设置中包含以下配置 我的设置中

  • 如何关闭SonarQube 4中的代码覆盖?我在单元测试中使用了JMockit,在Sonar中使用了JaCoCo代码覆盖插件。它们冲突是因为它们使用不同的JavaAgent来编辑类的字节码(如我所知)。我想关闭声纳中的代码覆盖。我可以在Jacoco的设置中排除我的项目,但这没有帮助。

  • 我正在运行SonarQube 4.2,并且正在启动来自Jenkins的多项目(主要是JavaScript)分析。但是,我在单元测试中没有得到任何数据——这些数据是用Intern/伊斯坦布尔生成的,并输出到Junit格式。日志中没有错误。我知道报告格式很好,因为它在Jenkins中显示得很好 我的配置是:

  • 在运行基于 Gradle 的构建和集成测试后,我在“构建/jacoco”文件夹中成功生成了 2 个 .exec 文件。 gradle命令:“gradle清洁构建集成测试” 完成后,它将在build/jacoco文件夹下生成以下.exec文件。 test.exec integrationTest.exec 以下是我的sonar-project.properties文件。当我在Linux上运行“son