2017-03-02 102 views
1

目前,我在质量过程的工作,以确保代码是可以接受的。为此,我整合了Jenkins,SonarQube和GitLab,它们运行在不同的服务器上(实际上它们在不同的码头容器中)。SonarQube,Jenkins和GitLab是否可以集成到Docker中?

的想法是检查与SonarQube每次代码被推向GitLab和块提交,合并,等等,SonarQube是否没有通过。

我已经集成詹金斯与SonarQube,但詹金斯检查他的工作区中的代码,所以可以想象在那里他的笔记本电脑开发者需要推动他改变的情况。

我概念性的问题很简单:是否有可能将这些技术才能做到这一点整合?而且,如果问题是肯定的,哪些步骤是必要的?

PD:我并不需要看到代码,配置文件,等等。我只是需要这样的东西:

  1. 配置SonarQube与詹金斯
  2. 做一个脚本,以便该文件复制该文件夹中的工作,
  3. ...

回答

2

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

二“配置詹金斯与SonarQube工作” ......这就是我在我的店里做过,有ISN对它不重要。
一旦Jenkins SonarQube plugin安装和address for the SonarQube server entered,可以configure your job,并呼吁声纳(比如使用Maven:$SONAR_MAVEN_GOAL -Dsonar.host.url=$SONAR_HOST_URL

在詹金斯工作区所做的分析将被刊登在SonarQube服务器。

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

https://github.com/marcelbirkner/docker-ci-tool-stack/raw/master/screenshots/docker-ci-tools.png

想法仍然虽然是相同的:每个元件在其自身的容器中分离。