2016-12-29 68 views
0

我正在使用SonarQube 5.1.2。为新问题配置SonarQube质量门限值而不是增加值

我想为SonarQube项目配置质量门。
然而,因为这些都是传统项目,根据现有的规则,我们已经有一些阻滞剂和关键问题

我想基于将出现从现在起,新的问题来定义质量门,推动这些问题不断减少,同时不允许引入新的阻滞剂问题。例如,我可以使用自特定日期以来的标准“新的阻止者问题”,但不会按我的意愿工作,因为如果有人添加了阻止者问题,但在此期间,某人会解决现有的阻止者问题问题,余额将为空,因此质量门不会变为“红色”。另一方面,如果我配置阈值“阻滞剂问题”,自上次分析以来,值> 0也不起作用,因为下次SonarQube运行时,如果没有引入新的阻滞剂问题,质量门将变成'绿色',即使在之前的分析中新的阻滞剂问题根本不是固定的。我希望SonarQube能够实际检测到“新问题”(而不是它们之间的差异),并且继续将它们计为“新”,因为我们希望强制执行没有新的“阻止程序问题” “是在那个时期推出的,而现有的问题已经解决。

有没有办法配置质量门来反映这一点?
也许我只是在错误的方式配置它。我发现了两个标准:“阻滞剂问题”和“新阻断剂问题”,但它们在结合一段时间后似乎表现完全相同。

回答

2

SonarQube旨在解决您的使用案例,即关注新代码。这是它的Water Leak Paradigm的一点。

总之:当你的质量门有说“在泄漏期间无新问题”的条件,SonarQube将确保有没有检漏期开始后创建“没有新的问题“即” 只有那里的泄漏期间之前的问题被容忍“即” 我容忍遗留问题,我公司严格不容忍任何新的问题“即” 我不泄漏新问题”。

返回查询:

例如,我可以使用标准“新拦截问题”,因为一个给定的日期,但不完全工作,我想,因为如果有人添加了一个拦截器问题,但在此期间,某人解决了现有的阻止问题,余额将为空,因此质量门不会更改为“红色”。

不,SonarQube不会在乎余额。 SonarQube将查找在该日期之后创建的问题(更一般地说:在泄漏期开始之后)。您可以在项目主页(example)上看到该项目,并且如果相应地配置质量门,质量门将中断(例如,没有新的阻滞剂问题)。

给它的示例代码,您删除现有的问题,并添加一个新的(不只是移动现有问题的不同行SonarQube具有问题跟踪机制)一试。

P.S .: 5.1.2相当陈旧,您应该升级到最新的SonarQube LTS(截至撰写本文时为5.6.x)。 泄漏期在UI/UX中更多,而相关的质量门配置更全面。

+0

好的,我再次测试它,它的工作原理。我不知道我以前做错了什么,也许SonarQube确定为相同的问题,因为它是一个类似的示例代码... – xsilmarx

+0

IMO它允许以更独立的方式配置泄漏时段,而不是只通过期间。我不知道在更高版本的SonarQube中这是否可行。否则,我需要为此“占据”一段时间。 – xsilmarx

相关问题