我们的项目与SonarQube远程服务器集成,配置了质量门。 每当我们在master中提交时,我们的gitlab都会执行sonar:sonar,如果代码不符合Quality Gate指标,则构建将被拒绝。
我想在推送Gitlab之前在本地做同样的事情。
如果我在本地指向远程SonarQube服务器的声纳:声纳,它会验证质量门并将指标保留在服务器中。
但是,我想在不保持指标的情况下也这样做,因为它是我自己的分支。 因此,如果我使用 -Dsonar.analysis.mode = preview ,它不会保留指标,但它不会检查指标(质量门)
有什么办法吗?
答案 0 :(得分:2)
好吧,就像法布里斯所说的那样,还不可能做到这样的事情。
我在工作中遇到了类似的预览问题,因此我只是在我的计算机中放置了一个SonarQube服务器的本地实例,所有规则/质量配置文件/质量门都是我的公司。
这样,我可以根据需要运行尽可能多的声纳:声纳,在提交之前在本地测试它,只需指定“Dsonar.host.url”参数。
我不知道这是否能解决你的问题,但绝对是一条出路。
答案 1 :(得分:1)
这是不可能的,因为质量门检查的各种条件通常是复杂而全面的处理结果,只能由SonarQube的计算引擎部分完成。
这就是为什么目前像GitHub Pull Request这样的插件只报告在拉取请求中修改的代码片段上发现的问题。