9

有没有办法在 Sonar 中为一个项目创建多个配置文件?

例如,我们有一个 Java EE 项目,其中包含:EJB 和 WebApp(JSP 和 Back Bean)。我们有 3 个质量配置文件:Java、Web 和 XML。为了在我们的项目中“执行”这 3 个配置文件,我们运行三个声纳分析并在声纳中创建 3 个结果项目。

我们使用视图重新组合这三个项目,有没有办法让一个项目使用 3 个配置文件而不使用视图?

我们想使用视图对不同的项目进行分组,而不是在同一个项目上。

4

3 回答 3

12

同一个项目不能有多个配置文件。但是如果你想要这个,你只需要创建你自己的自定义配置文件,其中包含在你的配置文件中定义的所有规则。例如,假设您有质量配置文件“Android Lint”和“Sonar Way”,如果您不想根据这两个配置文件检查您的项目,只需执行以下操作:

  1. 转到 SonarQube 中的质量配置文件选项卡
  2. 单击所需的配置文件上的备份。它将为每个配置文件下载一个 .xml 文件。
  3. 只需浏览 .xml 文件并弄清楚它是如何编写的,然后创建一个新的 .xml 文件,其中包含两个配置文件的规则并给它一个很酷的名称。
  4. 返回到 SonarQube 中的质量配置文件选项卡
  5. 单击恢复配置文件并上传您的 .xml 文件。
  6. 而已。

您现在拥有自己的自定义质量配置文件,其中包含您想要的所有规则。

更新: 在最新版本的 SonarQube(我使用的是 6.2)中,您可以使用“继承”的概念来组合多个质量配置文件。您现在可以为任何配置文件设置父质量配置文件。使用它,您可以链接多个质量配置文件。

于 2015-06-05T20:42:08.997 回答
2

无法为一个项目应用多个配置文件。

我看到了两种选择:合并您已经提到的配置文件或在不同的“分支”下扫描同一个项目(如在 SonarQube 术语中)。

对于不同分支下的扫描,请参阅项目关联的声纳质量配置文件。请注意,maven 调用的语法实际上是错误的,请改用这个:

mvn ... -Dsonar.profile="Your profile name" -Dsonar.branch=YOUR BRANCH

使用它会创建一个同名的新项目以及作为 postfix 的分支。(项目名称:分支名称)

关于两个配置文件的合并,最简单的方法是在“规则”选项卡中:

  1. 在过滤器视图中选择质量配置文件 x
  2. 批量更改(在列表视图的右上角)
  3. 激活
  4. 选择质量概况 y

这将自动合并两组并防止冗余。

于 2016-12-15T10:55:03.963 回答
1

只是扩展上面@guitarium 的答案:

对于 SonarQube 7,您只需在 SonarQube 门户网站上执行以下操作,即可将其他配置文件中的额外规则添加到自定义配置文件中(实际上与合并相同):

  1. 进入质量配置文件,然后单击要合并的配置文件旁边的下拉列表
  2. 选择复制
  3. 给副本起一个很酷的名字
  4. 单击新副本以进入其质量配置文件页面
  5. 转到操作->激活更多规则
  6. 单击批量更改,然后激活并选择您的新酷配置文件
  7. 您现在拥有一个超级酷的合并个人资料。不错的工作
于 2018-08-03T02:23:16.073 回答