分支机构或项目之间的SonarQube泄漏期

时间:2017-11-23 15:09:48

标签: java maven sonarqube

我目前正在将SonarQube引入大型遗留项目。这意味着已经有数百个警告,在第一步中我想确保来自我们的功能分支的没有新的警告

为实现这一目标,我希望在每个功能分支上运行声纳分析,将其与主分支进行比较,并在引入新警告时提醒提交者。

假设以下情况:

MyProject 1.0-SNAPSHOT是SonarQube上项目的名称和版本。它有100个警告。它代表develop分支。 leak period是从1天前开始的分析。这非常有效,我可以看到自昨天以来引入了哪些新警告

开发人员正致力于feature/somefeature分支机构。当他们打开拉取请求时,我希望在该分支上运行声纳分析。这样可以正常工作,但是我无法从昨天开始将leak version设置为MyProject 1.0-SNAPSHOT,因为SonarQube将此分支视为完全独立的项目,即使我将sonar.projectKey设置为相同的名称,我也尝试使用sonar.branch属性。

期望的结果是:

  1. develop - > 100个警告

  2. feature / somefeature - > 102警告

  3. feature/somefature显示的#SenarQube信息中心" 2个新警告"。

  4. 可以用声纳本身完成,还是需要使用Sonar REST API编写我自己的程序?

1 个答案:

答案 0 :(得分:6)

您应该使用Branch Plugin来分析仅针对新问题的分支。这个插件有一个相应的质量门:

  

对于短命分支,有一种硬编码的质量门,只关注新问题。

只有在出现新的漏洞或漏洞时才会创建问题。

根据插件文档,所有功能分支都应标识为 短期分支

注意:分支插件已获得SonarSource许可,可在非自由Developer Edition

中使用