有没有办法在 Sonar 中为一个项目创建多个配置文件?
例如,我们有一个 Java EE 项目,其中包含:EJB 和 WebApp(JSP 和 Back Bean)。我们有 3 个质量配置文件:Java、Web 和 XML。为了在我们的项目中“执行”这 3 个配置文件,我们运行三个声纳分析并在声纳中创建 3 个结果项目。
我们使用视图重新组合这三个项目,有没有办法让一个项目使用 3 个配置文件而不使用视图?
我们想使用视图对不同的项目进行分组,而不是在同一个项目上。
有没有办法在 Sonar 中为一个项目创建多个配置文件?
例如,我们有一个 Java EE 项目,其中包含:EJB 和 WebApp(JSP 和 Back Bean)。我们有 3 个质量配置文件:Java、Web 和 XML。为了在我们的项目中“执行”这 3 个配置文件,我们运行三个声纳分析并在声纳中创建 3 个结果项目。
我们使用视图重新组合这三个项目,有没有办法让一个项目使用 3 个配置文件而不使用视图?
我们想使用视图对不同的项目进行分组,而不是在同一个项目上。
同一个项目不能有多个配置文件。但是如果你想要这个,你只需要创建你自己的自定义配置文件,其中包含在你的配置文件中定义的所有规则。例如,假设您有质量配置文件“Android Lint”和“Sonar Way”,如果您不想根据这两个配置文件检查您的项目,只需执行以下操作:
您现在拥有自己的自定义质量配置文件,其中包含您想要的所有规则。
更新: 在最新版本的 SonarQube(我使用的是 6.2)中,您可以使用“继承”的概念来组合多个质量配置文件。您现在可以为任何配置文件设置父质量配置文件。使用它,您可以链接多个质量配置文件。
无法为一个项目应用多个配置文件。
我看到了两种选择:合并您已经提到的配置文件或在不同的“分支”下扫描同一个项目(如在 SonarQube 术语中)。
对于不同分支下的扫描,请参阅项目关联的声纳质量配置文件。请注意,maven 调用的语法实际上是错误的,请改用这个:
mvn ... -Dsonar.profile="Your profile name" -Dsonar.branch=YOUR BRANCH
使用它会创建一个同名的新项目以及作为 postfix 的分支。(项目名称:分支名称)
关于两个配置文件的合并,最简单的方法是在“规则”选项卡中:
这将自动合并两组并防止冗余。
只是扩展上面@guitarium 的答案:
对于 SonarQube 7,您只需在 SonarQube 门户网站上执行以下操作,即可将其他配置文件中的额外规则添加到自定义配置文件中(实际上与合并相同):