SonarQube,Jenkins和GitLab是否可以集成到Docker中?

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

这个想法是每次检查SonarQube时,代码是否被推入GitLab,并阻止提交,合并等,SonarQube是否没有通过。

我已经把Jenkins和SonarQube整合在一起了,但Jenkins检查他的工作区内的代码,所以想象一下,他的笔记本电脑中的开发人员需要推动他的改变。

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

PD:我不需要看代码,configuration文件等等。 我只需要像这样的东西:

  1. configurationSonarQube与Jenkins一起工作
  2. 做一个脚本,以便在该文件夹中复制该文件,

首先,docker工具意味着每个工具都在自己的容器中。
他们只需要通过networking看到对方,这就是Swarm模式下的Docker引擎 。

第二个“configurationjenkins与SonarQube合作”……这就是我在我店里所做的事情,并没有太多的东西。
一旦安装了Jenkins SonarQube插件 ,并input了SonarQube服务器的地址 ,就可以configuration你的工作并调用声纳(例如使用maven: $SONAR_MAVEN_GOAL -Dsonar.host.url=$SONAR_HOST_URL

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

swarm服务器是marcelbirkner/docker-ci-tool-stack项目的2015年docker-compose.yml文件的marcelbirkner/docker-ci-tool-stack版本。

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

这个想法仍然是一样的:每个元素都被隔离在自己的容器中。