資源准備
- 下載gitlab-runner-helper的鏡像,runner所在服務器要有gitlab/gitlab-runner-helper :x86_64-a8a019e0的image
- 下載最新的gitlab-runner的軟件,x86-64的版本下載地址為(https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64)
- 打包執行任務需要的docker鏡像,即代碼運行以來的docker鏡像,需要安裝程序運行以來的軟件和包,這里我們使用base_image:ci_test。基礎鏡像加裝了sshpass軟件的版本
GitLab CI/CD設置
打開gitlab的項目setting->CI/CD-Runners settings頁面,會看到
gitlab runner配置需要的信息,包括url地址,以及token信息。
這里有兩個關鍵信息:一個gitlab的服務器http地址,另外是注冊runner的token。
注冊runner服務器
選擇一個執行服務器,把下載的gitlab-runner-linux-amd64復制到服務器上,修改文件名為gitlab-runner
- 執行./gitlab-runner install,注冊為服務。后續可以使用systemctl管理。
- 執行./gitlab-runner regsiter,根據提示輸入http地址,token注冊runner,沒有異常則會提示注冊成功。
- 使用./gitlab-runner status查看狀態,如果沒有running,則使用./gitlab-runner start來啟動runner
- 在web頁面查看runner,正常可以看到剛才注冊的runner。
操作命令,使用的exector是docker模式,需要輸入鏡像地址。
[root@runner gitlab_ci]# ./gitlab-runner register
Runtime platform arch=amd64 os=linux pid=37194 revision=a8a019e0 version=12.3.0
Running in system-mode.
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://192.168.100.5/
Please enter the gitlab-ci token for this runner:
_sAP33YvzuAxX4LnkmP5
Please enter the gitlab-ci description for this runner:
[runner ]: for_test
Please enter the gitlab-ci tags for this runner (comma separated):
for_test
Registering runner... succeeded runner=_sAPk3Yv
Please enter the executor: parallels, shell, virtualbox, docker+machine, custom, docker, docker-ssh, ssh, docker-ssh+machine, kubernetes:
docker
Please enter the default Docker image (e.g. ruby:2.6):
base_image:ci_test
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
可以在項目的CI CD管理頁面settings/ci_cd頁面看到注冊的runner信息
Runner配置管理
以centos系統為例,gitlab-runner注冊后,runner的配置信息在/etc/gitlab-runner/config.toml文件中,
可以看到所有runner的配置。如果需要修改runner配置,直接在修改后,重啟服務即可。