如何使用Sonar maven插件验证Quality Gate的本地代码?

时间:2017-07-12 09:16:02

标签: maven sonarqube sonarqube-scan

我们的项目与SonarQube远程服务器集成,配置了质量门。 每当我们在master中提交时,我们的gitlab都会执行sonar:sonar,如果代码不符合Quality Gate指标,则构建将被拒绝。

我想在推送Gitlab之前在本地做同样的事情。

如果我在本地指向远程SonarQube服务器的声纳:声纳,它会验证质量门并将指标保留在服务器中。

但是,我想在不保持指标的情况下也这样做,因为它是我自己的分支。 因此,如果我使用 -Dsonar.analysis.mode = preview ,它不会保留指标,但它不会检查指标(质量门)

有什么办法吗?

2 个答案:

答案 0 :(得分:2)

好吧,就像法布里斯所说的那样,还不可能做到这样的事情。

我在工作中遇到了类似的预览问题,因此我只是在我的计算机中放置了一个SonarQube服务器的本地实例,所有规则/质量配置文件/质量门都是我的公司。

这样,我可以根据需要运行尽可能多的声纳:声纳,在提交之前在本地测试它,只需指定“Dsonar.host.url”参数。

我不知道这是否能解决你的问题,但绝对是一条出路。

答案 1 :(得分:1)

这是不可能的,因为质量门检查的各种条件通常是复杂而全面的处理结果,只能由SonarQube的计算引擎部分完成。

这就是为什么目前像GitHub Pull Request这样的插件只报告在拉取请求中修改的代码片段上发现的问题。