【问题标题】:Is it possible to integrate SonarQube, Jenkins and GitLab (all in dockers)?是否可以集成 SonarQube、Jenkins 和 GitLab(都在 dockers 中)?
【发布时间】:2017-07-22 16:31:08
【问题描述】:

目前,我正在进行质量流程,以确保代码是可接受的。为此,我正在集成 Jenkins、SonarQube 和 GitLab,它们在不同的服务器中运行(实际上它们在不同的 docker 容器中)。

这个想法是每次将代码推送到 GitLab 并阻止提交、合并等时使用 SonarQube 检查 SonarQube 是否未通过。

我已经将 Jenkins 与 SonarQube 集成,但 Jenkins 会检查他工作区中的代码,所以想象一下,开发人员在他的笔记本电脑上需要推送他的更改。

我的概念性问题很简单:是否可以集成这些技术来做到这一点?如果问题是肯定的,哪些步骤是必要的?

PD:我不需要查看代码、配置文件等。我只需要这样的东西:

  1. 配置 SonarQube 以使用 Jenkins
  2. 执行脚本以将该文件复制到该文件夹​​中,
  3. ...

【问题讨论】:

    标签: docker jenkins continuous-integration sonarqube gitlab


    【解决方案1】:

    首先,在 docker 中意味着每个工具都在自己的容器中。
    他们只需要通过网络看到对方,这就是Docker Engine in Swarm mode 的来源。

    第二个“配置 Jenkins 以与 SonarQube 一起工作”...这是我在我的商店中所做的,并没有太多内容。
    一旦安装了Jenkins SonarQube pluginaddress for the SonarQube server entered,您就可以configure your job 并调用声纳(例如使用maven:$SONAR_MAVEN_GOAL -Dsonar.host.url=$SONAR_HOST_URL

    在 Jenkins 工作区中完成的分析随后将发布在 SonarQube 服务器中。

    swarm 服务器是来自 marcelbirkner/docker-ci-tool-stack 项目的 2015 docker-compose.yml file 的更现代版本。

    这个想法保持不变:每个元素都被隔离在自己的容器中。

    【讨论】:

      【解决方案2】:

      我自己没有尝试过,但 https://gitlab.talanlabs.com/gabriel-allaigre/sonar-gitlab-plugin 可能对你的设置很感兴趣。

      【讨论】:

        猜你喜欢
        • 2016-01-16
        • 2016-09-16
        • 2020-10-28
        • 2016-10-22
        • 2018-10-17
        • 2018-01-08
        • 2019-10-20
        • 2021-11-12
        • 2016-06-29
        相关资源
        最近更新 更多