docker - 是否可以集成SonarQube,Jenkins和GitLab(全部在docker中)?

标签 docker jenkins continuous-integration sonarqube gitlab

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

想法是每次将代码推到GitLab并阻止提交,合并等等时,都要通过SonarQube进行检查,以确定SonarQube是否未通过。

我已经将Jenkins与SonarQube集成在一起,但是Jenkins会检查其工作区中的代码,因此,设想一下笔记本电脑中的开发人员需要 push 其更改的情况。

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

PD:我不需要查看代码,配置文件等。我只需要以下内容:

  • 配置SonarQube以与Jenkins一起使用
  • 执行脚本以将文件复制到该文件夹​​
  • ...
  • 最佳答案

    首先,在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服务器中发布。
    群服务器是docker-compose.yml file项目中此 marcelbirkner/docker-ci-tool-stack 2015的更新版本。
    https://github.com/marcelbirkner/docker-ci-tool-stack/raw/master/screenshots/docker-ci-tools.png
    但是,这个想法仍然保持不变:每个元素都隔离在自己的容器中。

    关于docker - 是否可以集成SonarQube,Jenkins和GitLab(全部在docker中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42564051/

    相关文章:

    mysql - 无法查看 docker 容器内的表

    jenkins - sbt 构建在本地工作但在 Jenkins 上失败

    jenkins - DockerHub Webhook 触发 Jenkins 构建

    docker - 消费者 : Cannot connect to amqp://user:**@localhost:5672//: [Errno 111] Connection refused

    docker - 通过Logstash将JSON文件导入到Elasticsearch和Kibana(Docker ELK堆栈)

    docker - ECS Fargate NGINX容器在CloudWatch日志中未显示错误

    docker - Prisma 在 jenkins 中随机找不到 docker 镜像

    git - 如何避免开发人员提交而不提及 Github 上提交消息的问题

    version-control - 如何设置 Jenkins 来构建我的项目的所有版本?

    continuous-integration - 如何防止travis部署两次?