【问题标题】:SonarQube BuildBreaker plugin not workingSonarQube BuildBreaker 插件不起作用
【发布时间】:2014-06-03 14:52:15
【问题描述】:

我已经安装了 SonarQube 4.1.1,Jenkins 版本。 1.533 和 BuildBreaker 插件。

我在 Sonar 中设置了两个警报,如果达到某个阈值,它应该将 Jenkins 上的构建标记为 ERROR,因此我希望在日志中出现如下内容:

[ERROR] Coverage < 50%
[ERROR] Class complexity > 20
[INFO]  ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]  ------------------------------------------------------------------------
[INFO]  Can not execute Sonar

Embedded error: Alert thresholds are hit (2).

我设置的两个警报是阻止程序问题 > 20 和严重问题 > 30。 我有超过 20 个关键问题。

然而,当我在预览模式下运行 Jenkins 构建时 sonar.analysis.mode=preview 构建成功。

INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
Total time: 8:30.621s
Final Memory: 51M/916M
INFO: ------------------------------------------------------------------------
Recording test results
Finished: SUCCESS

关于为什么 Jenkins 没有从 BuildBreaker 插件中获取警报的任何想法? 如果我转到 SonarQube 仪表板,我可以看到严重问题 > 30 警报已达到。

谢谢,

【问题讨论】:

    标签: jenkins jenkins-plugins sonarqube


    【解决方案1】:

    预览模式下默认排除 IIRC 构建中断。您将需要检查您的预览配置。

    【讨论】:

    • 您好 Minthfindel,感谢您的回答。但我不确定你指的是什么。这些是我在 Jenkins 中设置的属性: `# Language sonar.language=java # Encoding of the source files sonar.sourceEncoding=UTF-8 #Exclude the JUnit tests sonar.exclusions=test/**/*.java,*/*Test.java,**/Test #代码分析结果不存储在数据库中 sonar.analysis.mode=preview 我还需要添加哪些其他属性才能使构建断路器工作?谢谢
    • sonar.preview.excludePlugins 属性用于声明应从预览模式中排除的插件。默认情况下,它设置为buildstability,devcockpit,pdfreport,report,scmactivity,views,jira,并在 SQ 4.2 中添加了buildbreaker。但是您可能需要检查您的阈值:如果“关键问题”阈值为 30,如果您只有 20,则不会触发。
    • Build Breaker 不在我的预览排除列表中,但在增量或预览分析中运行时仍然不起作用。
    【解决方案2】:

    看起来从 SonarQube 4.1 开始,buildbreaker 插件默认被排除在增量和预览执行模式之外。您可以检查您的 SonarQube 设置(“设置”->“常规设置”->“常规”)并将“buildBreaker”添加到“预览和增量模式接受的插件”输入框中,保存设置并重试。

    【讨论】:

    • 这也不起作用。他们已从增量/预览分析中永久禁用 buildbreaker 插件。
    • 这里是文档的链接以获取更多详细信息:docs.sonarqube.org/display/PLUG/Build+Breaker+Plugin
    • 感谢指出。你知道为什么它被弃用了吗?在我看来,这个插件对 CI 过程非常有价值。
    • SonarQube 的内置 Build Breaker 插件已在 5.1 版本中停用。这是使用 SonarQube REST API 实现相同目的的解决方法。 bitbucket.org/atlassian/sonarqube-build-breaker
    猜你喜欢
    • 2013-11-16
    • 2014-12-13
    • 2018-08-20
    • 2015-03-12
    • 1970-01-01
    • 2016-11-28
    • 2017-05-31
    • 1970-01-01
    • 2014-05-13
    相关资源
    最近更新 更多