SonarQube BuildBreaker插件阻止本地分析

时间:2013-11-05 10:16:30

标签: plugins sonarqube

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

最诚挚的问候,

2 个答案:

答案 0 :(得分:7)

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

sonar.buildbreaker.skip=true

enter image description here

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

答案 1 :(得分:0)

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

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

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

注意:

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