【问题标题】:Project segregation in Sonar QubeSonarqube 中的项目隔离
【发布时间】:2017-06-29 19:06:21
【问题描述】:

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

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

每种类型的项目又包含四个不同的项目,例如在 eco-projects 我们有 eco-1-projects、eco-2-projects、eco-3-projects、生态 4 项目

我已将它集成到 Sonar Qube 中,我只有一个项目作为 Cloud 项目,如下所示,当显示所有组合项目的源代码时。

我们能否在 Sonar Qube 中创建类似可视化的层次结构,例如,当我单击 Sonar Dashbaord 中的 Cloud Projects 时,它将导航到另外四个项目,例如 eco- projects, evn-projects, met-projects, svn-projects 现在让我们说当我点击 eco-projects 时它会显示 eco-1-projects, eco-2 -projects, eco-3-projects,eco-4-projects 现在当我点击 eco-1-projects 时,它将显示其源代码相关的仪表板和覆盖范围

我的 sonar-project.properties 如下所示

# 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
:
:
:

谁能告诉我一些解决方法

【问题讨论】:

标签: java sonarqube code-separation


【解决方案1】:

在 SonarQube 的菜单中,您有:“问题”、“测量”、“代码”和“仪表板”。

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2010-12-07
      • 2016-07-29
      • 2023-04-04
      • 2012-08-04
      • 2018-01-05
      • 2017-05-13
      • 2018-07-02
      • 1970-01-01
      相关资源
      最近更新 更多