我正在配置一个多模块 maven 项目,该项目在验证阶段强制执行sonar:sonar 。
如果声纳抛出一些警报,我还使用声纳的 build-breaker-plugin 来避免部署模块。
这种方法的问题是开发人员应该去声纳服务器检查警报。这还不错,但是如果多个用户尝试同时分析同一个模块,则不可能知道上次/当前分析是否有您的警报。
背景:我们有一个 CI 系统,每小时构建所有模块。所以有时这会与一些开发人员部署相冲突(这会强制分析)
恕我直言,只有 CI 系统应该将分析提交给声纳服务器,因为 CI 有最后提交和部署的代码。但是开发人员应该只在本地检查他的更改。
那么,为什么我们要强制在开发人员构建中进行分析?避免部署不遵守代码质量阈值的模块(sonar 的 build-breaker 插件对此有所帮助)。
有一种方法可以配置 maven-sonar-plugin 来做到这一点?
- 开发人员构建中的本地分析。
- CI 构建中的服务器分析