资源准备
- 下载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配置,直接在修改后,重启服务即可。