评估 Sonarqube(版本 5.4),我们希望
使用另一个审计工具迁移我们当前的工作流程,其工作方式如下:
在生产中运行的当前版本是我们的参考版本。
从 GIT 签出一个新的开发版本,一个 diff 过程计算新的和修改的文件与参考版本,并开始对这些文件进行审计。
遗留代码(2012 年已经存在的组件)和新组件(2012 年之后)的处理也略有不同。
如果出现以下情况,则构建中断:
来自旧组件的更改文件(2012 年已经存在的文件)中的阻止程序问题 来自旧组件
和新组件的新文件(2012 年之后创建的文件)中的阻止程序或关键问题
如何在 Sonarqube 中实现它?
已经尝试了两件事:
1.)sonar.timemachine.period1
在启动 Sonar 任务之前将属性设置为 Ant 脚本中的生产/参考版本 => 不起作用,它总是“从以前的版本开始”
2.) 在 Sonarqube 中定义两个不同的项目,一个用于生产版本,一个用于新的开发版本。然后以编程方式使用 Sonarqube Web UI 更多/比较项目中已知的功能,并获取 Blocker 和 Critcal 问题的差异。
问题:如果我修复了生产参考中已经存在的 200 个关键问题,但在开发版本中引入了 200 个新问题,我将不会获得关键问题的差异。
比较项目功能没有衡量新问题或旧问题的指标,它只是计算比较项目的问题。