【问题标题】:Warnings amount comparison between previous build and the current in Jenkins using SonarQube with MSBuild使用 SonarQube 和 MSBuild 在 Jenkins 中之前构建和当前构建之间的警告数量比较
【发布时间】:2018-03-27 08:07:52
【问题描述】:
我很好奇是否有可能如果警告数量比以前的构建更多,是否可以阻止 Jenkins 构建应用程序。我的目标是使用 SonarQube,因为我已经指定了一些规则。我知道Warnings Plugin 的存在,但我想SonarQube 提供了更多机会。
我正在挖掘文档,但没有发现任何关于这种可能性的标记。有没有办法设置某种标志?你能那么善良,也许能给我指明正确的方向吗?也许 SonarQube 不支持我在这件事上的需要?
我非常感谢任何帮助。
谢谢!
【问题讨论】:
标签:
jenkins
msbuild
sonarqube
【解决方案1】:
根据语言的不同,您本末倒置。
具体来说,对于 Java、C# 和 C 系列语言,您必须先构建,然后才能进行分析。
对于其他语言(JS、PHP、Python、...),这在理论上是可行的,但是:
您需要在分析之前获取当前问题计数,并在分析后将其与问题计数进行比较。此时,您已经在 SonarQube 中更新了项目。为什么不让整个管道运行并根据质量门状态决定项目是否可发布。
如果您只查看问题总数,您会错过我删除一个旧问题并添加 1 个新问题的情况。
关注原始问题计数会忽略严重性(例如 Blocker vs Info)和类型(Bug vs Code Smell)。
相反,您应该查看与问题相关的指标新代码。将这些合并到您的Quality Gate,并根据您的项目的质量门状态做出决策(构建后)。