Plugins 将gitlab与sonarqube集成

Plugins 将gitlab与sonarqube集成,plugins,sonarqube,integration,gitlab,gitlab-8,Plugins,Sonarqube,Integration,Gitlab,Gitlab 8,我的服务器上安装了GitLab CE(至少是v8.5)。我想将其与sonarqube集成,以便合并请求在评论部分显示任何问题。有人成功地集成了这两个系统吗 目前,我发现的唯一sonarqube插件是以下插件,但我无法将其与GitLab成功集成 我使用sonarqube(v5.5)的docker容器并将插件复制到extensions目录中。在sonarqube的插件设置页面中配置了gitlab用户令牌和gitlab uri 我正在使用GitLab CI进行持续集成,我有以下sonarqube的构

我的服务器上安装了GitLab CE(至少是v8.5)。我想将其与sonarqube集成,以便合并请求在评论部分显示任何问题。有人成功地集成了这两个系统吗

目前,我发现的唯一sonarqube插件是以下插件,但我无法将其与GitLab成功集成

我使用sonarqube(v5.5)的docker容器并将插件复制到extensions目录中。在sonarqube的插件设置页面中配置了gitlab用户令牌和gitlab uri

我正在使用GitLab CI进行持续集成,我有以下sonarqube的构建工作(使用gradle)

但是,我不知道接下来该做什么。两个问题:

  • 当合并请求还不存在时会发生什么?在我的git工作流中,用户在完成分支工作后将提交合并请求。那么,这个插件如何知道要更新哪个合并请求呢

  • 现在,我将sonarqube验证任务设置为仅在主分支上运行。我认为这也需要更改为用户分支,对吗


  • 我确实尝试提交一个合并请求,但没有看到添加任何注释。我想我缺少一些配置或流程。如果您能帮我指出正确的方向,我将不胜感激。

    我遇到了与您相同的问题。评论没有显示在GitLab中。我通过两个修复程序使其正常工作:

    • 确保使用了预览模式。如果不是,则不会向GitLab报告问题
    • 要使问题显示为GitLab注释,它们必须是“新”问题。如果您在提交给GitLab之前对项目进行了分析,SonarQube将不会认为这些问题是新问题,也不会向MR
    如果这不能解决您的问题,请尝试克隆插件repo,向代码添加跟踪(commissuepostjob.java是可以查看的地方),用maven打包jar,并将修补过的jar部署到Sonar安装中。这就是我看到我没有新问题要报告的原因。

    • 您应该使用-Dsonar.gitlab。。。而不是-Psonar.gitlab。。。等(见)
    • 在插件的最新版本中,您可以在未发现问题时添加注释。这有助于调试
    @1:注释将添加到提交中,然后显示在合并请求的讨论部分


    @2:我们正在对master进行全面分析,并对所有分支进行预览。

    您确定GitLab插件已经安装到SonarQube上了吗?(验证的一种方法是:当你在SonarQube中进行管理时,你是否看到GitLab在左边?)我这样问是因为和你一样,我也在运行SonarQube。。。注意这个警告:如果
    扩展/插件
    目录是一个
    ,那么您不能期望
    wget
    Dockerfile
    卷曲到其中。你可能认为你抓到了扩展,但是如果你在启动后
    ls
    ,你可能会发现插件并不在那里。谢谢你的回复。我在Sonarqube中检查了管理,并验证了插件是否真的出现了。在我提取sonarqube docker图像后,我实际上复制了容器中的插件文件。我遇到了同样的问题。你能找到解决办法吗?
    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