在 sonarqube 中启用构建断路器插件时,我发现无法再运行本地分析,因为分析以失败告终。并且没有详细的问题列表可用。它阻止了插件的使用,因为开发人员无法在本地检查他们的签入是否会在提交更改之前破坏构建,但如果提交更改,构建将中断......目前我可以想象的是为本地安装另一台服务器通过禁用构建断路器插件进行分析,但它带来了其他问题,例如在两个不同的声纳实例之间同步配置。有更好的主意吗?
此致,
正确的方法是在声纳插件配置中添加本地分析属性:
sonar.buildbreaker.skip=true
这样,构建期间的声纳分析将被构建中断插件中断,同时开发人员可以在签入前在 Eclipse 中本地分析和修复问题。
你是什么意思“本地”分析?
大多数运行 Sonar 的方法(runner、ANT 插件、Maven 插件)都会始终联系 Sonar 服务器并尝试上传分析结果。我的建议是将 Sonar 作为集成服务器中的后期构建步骤运行(我强烈推荐 Jenkins)。这确保只有一台机器与 Sonar 对话,并具有保持 Sonar 凭证安全的第二个好处。
执行本地分析的唯一真正方法是在 Eclipse 中运行 Sonar(使用 Sonar Eclipse 插件)。这是实现所需用例的推荐方法,开发人员在提交代码之前进行分析(然后可以由您的集成服务器获取,自动更新 Sonar)。
笔记: