索纳尔库贝的项目隔离

2022-09-01 17:53:03

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

enter image description here

云项目文件夹有四种类型的项目(生态项目,evn项目,met项目,svn项目)

每种类型的项目再次包含四个不同的项目,例如在生态项目中,我们有生态1项目,生态2项目,生态3项目,生态4项目

我已经在Sonar Qube中集成了这一点,我只得到了一个项目作为云项目,如下所示,当显示所有组合项目的源代码时。

enter image description here

我们可以在Sonar Qube中有一个像可视化这样的层次结构,例如,当我单击Sonar Dashbaord中的云项目时,它将导航到另外四个项目,例如生态项目,evn项目,met项目,svn项目,现在让我们说当我单击生态项目时,它将向我显示eco-1-项目,eco-2-项目,eco-3-项目,eco-4-项目,现在当我单击eco-1-project时 它将显示其源代码相关的仪表板和覆盖范围

我的声纳项目属性如下

# 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

AFAIK声纳不支持这样的东西。它仅支持项目,模块和文件。这意味着您已经添加了(至少?)1个额外的层Sonar无法使用。

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

顺便说一句,您还可以使用Sonar仪表板作为额外层,例如通过在1个仪表板中添加所有生态项目。


答案 2

在SonarQube的菜单中,你有:“问题”,“措施”,“代码”和“仪表板”。

“代码”是你想要的。在那里,您将找到按“组件”细分(=每个子项目一个)。每行都以一个小图标开头(一个带有箭头的框,带有一个工具提示,上面写着:“打开组件的页面”)。这会将 SQ 的范围限制为此特定组件。

例如,在这里尝试一下:https://sonarqube.com/code?id=org.apache.hbase%3Ahbase


推荐