gitlab-ci + docker環境搭建

利用gitlab-ci搭建ci環境分爲兩個步驟:html

①添加.gitlab-ci.yml配置文件,名稱是固定的(配置文件寫法參考官方文檔:https://docs.gitlab.com/ee/ci/yaml/README.htmllinux

②配置一個gitlab Runnergit

當首次添加配置文件後,gitlab-ci就會開始運行,可是因爲沒有配置Runner,狀態會顯示爲pedding,能夠在CI/CD->Pipelines中查看到本次自動化測試的運行狀態,如圖:docker

首次進入應該顯示爲pending狀態。點進去會看到提示:沒有一個active Runner,因此接下來配置一個Runner。shell

gitlab-ci的Runner能夠在不少環境下配置,windows、linux、虛擬機、docker、甚至集羣等等。用docker的方便之處是不用安裝gitlab-runner,由於docker用鏡像嘛,直接啓動一個容器就行了。這裏先用docker進行實現。其餘平臺的安裝方法能夠參考官方教程:https://docs.gitlab.com/runner/install/,安裝以後的配置參考:https://docs.gitlab.com/runner/register/windows

由於docker無需安裝,可直接進行配置(配置的前提是運行Runner的服務器有權限訪問gitlab服務器):ruby

①啓動gitlab-runner容器:bash

docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v  path to config(/home/xxx/config):/etc/gitlab-runner \
gitlab/gitlab-runner:latest

能夠經過docker ps查看是否啓動成功。服務器

②註冊一個Runnerssh

docker exec -it gitlab-runner gitlab-runner register

其中 -it 後面的第一個gitlab-runner是容器名,第二個gitlab-runner是鏡像名,其中容器名要根據前面的設置進行修改,若是你的容器名不叫gitlab-runner。

而後會出現一些配置讓你去添加:1.gitlab地址 2.token 3.Runner的描述 4.Runner的tags 5.運行的executor,即docker 6.使用的鏡像,所有添加,成功後會顯示:Runner registered successfully. 這樣就註冊成功了。

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):

Please enter the gitlab-ci token for this runner:

Please enter the gitlab-ci description for this runner:

Please enter the gitlab-ci tags for this runner (comma separated):

Registering runner... succeeded                     runner=AzzcSohr
Please enter the executor: docker, parallels, shell, ssh, virtualbox, docker-ssh, docker+ne, docker-ssh+machine, kubernetes:
docker
Please enter the default Docker image (e.g. ruby:2.1):

Runner registered successfully. Feel free to start it, but if it's running already the coshould be automatically reloaded!

  其中使用的token能夠在Setting->CI/CD的Runners中看到,如圖:

 

  成功以後能夠去gitlab的Setting->CI/CD下查看註冊的Runner,如圖:

  圖中這幾項應該和剛纔添加的保持一致(除了token)。另外會自動在前面的 path to config路徑下生成一份config.toml文件(修改該文件,配置會自動生效的,若是不放心能夠重啓下docker)

  這樣就順利註冊了一個Runner,在使用的時候必定注意,.gitlab-ci.yml文件中每一個測試都要指定一個tags,這個tags和註冊Runner使用的tags要保持一致,由於gitlab-ci就是經過這個tags來決定調用哪一個runner的。另外能夠反覆執行:docker exec -it gitlab-runner gitlab-runner register,來註冊多個Runners,就能夠在.gitlab-ci.yml中經過tags選用不一樣的Runner

相關文章
相關標籤/搜索