目前,我正在制定质量流程,以确保代码可以接受。为此,我正在集成Jenkins,SonarQube和GitLab,它们在不同的服务器上运行(实际上它们在不同的Docker容器中)。
想法是每次将代码推到GitLab并阻止提交,合并等等时,都要通过SonarQube进行检查,以确定SonarQube是否未通过。
我已经将Jenkins与SonarQube集成在一起,但是Jenkins会检查其工作区中的代码,因此,设想一下笔记本电脑中的开发人员需要 push 其更改的情况。
我的概念性问题很简单:是否可以集成这些技术来做到这一点?而且,如果问题是肯定的,那么需要哪些步骤?
PD:我不需要查看代码,配置文件等。我只需要以下内容:
最佳答案
首先,在docker中意味着每个工具都在其自己的容器中。
他们只需要通过Docker Engine in Swarm mode进入网络就可以看到对方。
第二个“配置Jenkins与SonarQube一起使用”……这是我在商店中所做的,并且没有太多的事情。
一旦安装了Jenkins SonarQube plugin和address 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的更新版本。
但是,这个想法仍然保持不变:每个元素都隔离在自己的容器中。
关于docker - 是否可以集成SonarQube,Jenkins和GitLab(全部在docker中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42564051/