将Gitlab与Sonarqube集成



我在服务器上安装了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

但是,我不确定在此之后该怎么办。几个问题:

  1. 当不存在合并请求时会发生什么?在我的GIT工作流程中,用户在完成分支机构后将提交合并请求。那么,此插件将如何知道要更新的合并请求?

  2. 现在,我的Sonarqube辐射任务集仅在主分支上运行。我认为这也需要更改为用户分支,对

我确实尝试提交合并请求,但我没有看到任何评论。我认为我缺少一些配置或过程。如果您可以帮助我指向正确的方向。

我的问题与您的问题相同。吉特拉布(Gitlab)MR中没有显示评论。我可以通过两个修复程序来使用它:

  • 确保使用预览模式。如果不是,则不会将问题报告给GitLab
  • 为了使问题出现在GitLab评论中,它们必须是"新"问题。如果您在推动Gitlab之前对项目进行了分析,那么Sonarqube将不会将这些问题视为新问题,并且不会向MR添加任何评论。

如果这无法解决您的问题,请尝试将插件存储库克隆,将痕迹添加到代码中(commitissuepostjob.java是一个值得看的地方),用maven包装JAR并将修补的JAR部署到您的声纳安装中。这就是我看到我没有新问题的方式。

  • 您应该使用-dsonar.gitlab ...代替-psonar.gitlab ...等
  • 在插件的最新版本中,您可以在找不到问题时添加注释。这有助于调试。

@1:评论将添加到您的提交中,然后在Merge请求的讨论部分中显示

@2:我们正在对主人进行完整分析和任何分支的预览。

最新更新