【问题标题】:SonarQube BuildBreaker plugin blocks local analysisSonarQube BuildBreaker 插件阻止本地分析
【发布时间】:2013-11-16 04:21:46
【问题描述】:

在 sonarqube 中启用构建中断插件时,我发现无法再运行本地分析,因为分析以失败告终。并且没有详细的问题列表可用。它阻止了插件的使用,因为开发人员无法在本地检查他们的签入是否会在提交更改之前破坏构建,但如果提交更改,构建将中断...... 目前我可以想象的是通过禁用构建断路器插件安装另一台服务器进行本地分析,但它带来了其他问题,例如在两个不同的声纳实例之间同步配置。有更好的主意吗?

最好的问候,

【问题讨论】:

    标签: plugins sonarqube


    【解决方案1】:

    “本地”分析是什么意思?

    大多数运行 Sonar 的方法(runner、ANT 插件、Maven 插件)总是会联系 Sonar 服务器并尝试上传分析结果。我的建议是将 Sonar 作为集成服务器中的构建后步骤运行(我强烈推荐 Jenkins)。这可确保只有一台机器与 Sonar 通信,并具有保持 Sonar 凭据安全的第二个好处。

    执行本地分析的唯一真正方法是在 Eclipse 中运行 Sonar(使用 Sonar Eclipse 插件)。这是实现所需用例的推荐方法,开发人员在提交代码之前进行分析(然后可以由您的集成服务器获取,自动更新 Sonar)。

    注意:

    • 在早期版本的 Sonar 中,如果同时执行多个分析运行,则会引发错误。较新的版本有一个锁定机制来防止声纳服务器的并行更新,这可能解释了您观察到构建被“阻止”的原因。
    • Sonar 是一个胖客户端应用程序。分析作为构建过程的一部分进行,然后将结果上传到服务器。

    【讨论】:

      【解决方案2】:

      正确的方法是在声纳插件配置中添加本地分析属性:

      sonar.buildbreaker.skip=true

      这样,构建期间的声纳分析将被构建中断插件中断,同时开发人员可以在签入前在 Eclipse 中本地分析和修复问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-25
        • 2021-03-13
        • 2017-01-23
        • 2023-03-06
        • 2017-04-30
        • 1970-01-01
        • 2016-01-27
        • 2014-05-13
        相关资源
        最近更新 更多