过去几天几乎让我不知所措,但是sonarqube(第5.3节)的github插件似乎无法正常工作。
我在github上有我的java应用程序代码,并已配置Jenkins运行mvn声纳:拉动请求的声纳目标。 maven设置为:
clean site sonar:sonar
-Dsonar.analysis.mode=preview
-Dsonar.github.oauth=<OAUTH_TOKEN>
-Dsonar.github.repository=<ORG>/<REPO>
-Dsonar.github.pullRequest=${ghprbPullId}
-Dsonar.github.endpoint=<ENT_GITHUB_API_BASE__URI>
对于sonar.analysis.mode,我也试过'问题'
现在我执行foll:
分析成功,插件始终报告已通过所有检查并且可以合并更改。我只是无法理解为什么声纳中的github插件无法显示违规并且检查失败。
现在,如果我合并拉取请求并在主仓库上以发布模式运行声纳分析,它表示质量门失败,我可以在SonarQube仪表板中看到这个项目,其中包含质量门失败的声明
我在这里做错了什么?我的猜测是github插件无法将pull请求中的更改与master repo中的更改进行比较,因此无法报告违规。我该如何解决这个问题?
更新:
如果最后,我将pull请求合并到master repo并在原始pull请求(已合并的请求)上重新运行声纳分析,它会在Pull Request对话中将违规报告为注释。 (但是,如果声纳在合并拉取请求后报告违规行为,那么有什么意义?)