我在服务器上安装了gitlab ce(v8.5)。我想将其与Sonarqube整合在一起,以便合并请求在评论部分中显示出任何问题。有人成功整合了这两个系统吗?
目前,我发现的只有Sonarqube插件是以下内容,但我无法成功地将其与Gitlab集成。
https://gitlab.talanlabs.com/gabriel-allaigre/sonar-gitlab-plugin
我将docker容器用于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辐射任务集仅在主分支上运行。我认为这也需要更改为用户分支,对
我确实尝试提交合并请求,但我没有看到任何评论。我认为我缺少一些配置或过程。如果您可以帮助我指向正确的方向。
我的问题与您的问题相同。吉特拉布(Gitlab)MR中没有显示评论。我可以通过两个修复程序来使用它:
- 确保使用预览模式。如果不是,则不会将问题报告给GitLab
- 为了使问题出现在GitLab评论中,它们必须是"新"问题。如果您在推动Gitlab之前对项目进行了分析,那么Sonarqube将不会将这些问题视为新问题,并且不会向MR添加任何评论。
如果这无法解决您的问题,请尝试将插件存储库克隆,将痕迹添加到代码中(commitissuepostjob.java是一个值得看的地方),用maven包装JAR并将修补的JAR部署到您的声纳安装中。这就是我看到我没有新问题的方式。
- 您应该使用-dsonar.gitlab ...代替-psonar.gitlab ...等
- 在插件的最新版本中,您可以在找不到问题时添加注释。这有助于调试。
@1:评论将添加到您的提交中,然后在Merge请求的讨论部分中显示
@2:我们正在对主人进行完整分析和任何分支的预览。