2017-03-02 124 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

想法仍然雖然是相同的:每個元件在其自身的容器中分離。