SonarQube,Jenkins和GitLab是否可以集成到Docker中?
目前,我在一个质量过程中工作,以确保代码是可以接受的。 为此,我整合了Jenkins,SonarQube和GitLab,它们运行在不同的服务器上(实际上它们在不同的docker容器中)。
这个想法是每次检查SonarQube时,代码是否被推入GitLab,并阻止提交,合并等,SonarQube是否没有通过。
我已经把Jenkins和SonarQube整合在一起了,但Jenkins检查他的工作区内的代码,所以想象一下,他的笔记本电脑中的开发人员需要推动他的改变。
我的概念性问题很简单:为了做到这一点,可以整合这些技术吗? 而且,如果问题是肯定的,哪些步骤是必要的?
PD:我不需要看代码,configuration文件等等。 我只需要像这样的东西:
- configurationSonarQube与Jenkins一起工作
- 做一个脚本,以便在该文件夹中复制该文件,
- …
首先,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
版本。
这个想法仍然是一样的:每个元素都被隔离在自己的容器中。