我的服务器上安装了GitLab CE(至少v8.5)。我想将它与sonarqube集成,以便合并请求在评论部分显示任何问题。有没有人成功整合这两个系统?
目前,我发现只有sonarqube插件如下,但我无法将其与GitLab成功集成。
https://gitlab.talanlabs.com/gabriel-allaigre/sonar-gitlab-plugin
我使用了一个docker容器for sonarqube(v5.5)并将插件复制到extensions目录中。在sonarqube的插件设置页面中配置了gitlab用户令牌和gitlab uri。
我正在使用GitLab CI进行持续集成,我为sonarqube做了以下构建工作(使用gradle)
sh gradlew sonarqube -Psonar.analysis.mode=preview -Psonar.issuesReport.console.enable=true \
-Psonar.gitlab.commit_sha=$CI_BUILD_REF -Psonar.gitlab.ref_name=$CI_BUILD_REF_NAME \
-Psonar.gitlab.project_id=$CI_PROJECT_ID
但是,我不确定在此之后该怎么做。几个问题:
当合并请求不存在时会发生什么?在我的git工作流程中,用户将在完成分支工作后提交合并请求。那么,这个插件将如何知道要更新哪个合并请求?
现在我将sonarqube valiation任务设置为仅在master分支上运行。我认为这也需要改为用户分支,对吗?
我确实尝试过提交合并请求,但我没有看到任何评论被添加。我想我缺少一些配置或过程。真的很感激,如果你能帮我指出正确的方向。
答案 0 :(得分:2)
我遇到的问题与你的问题相同。评论未在GitLab MR中显示。我使用了两个修复程序:
如果这不能解决您的问题,请尝试克隆插件仓库,向代码添加跟踪(CommitIssuePostJob.java是要查看的地方),使用maven打包jar并将修补后的jar部署到Sonar安装。这就是我看到我没有新问题需要报告的方式。
答案 1 :(得分:2)
@ 1:评论将添加到您的提交中,然后会显示在合并请求的讨论部分中
@ 2:我们正在对master进行全面分析,并在任何分支上进行预览。