1、首先linux环境下安装gitlab-runner,有几个版本:
# Linux x86-64
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"
# Linux x86
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386"
# Linux arm
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm"
# Linux arm64
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm64"
# Linux s390x
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-s390x"
# Linux ppc64le
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-ppc64le"
2、赋权限:
sudo chmod +x /usr/local/bin/gitlab-runner
3、创建一个gitlab-runner用户:
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
4、安装和运行gitlab-runner服务:(避坑指南:此处可能会报sudo: gitlab-runner: command not found错误,把sudo去掉再次执行就可以了)
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
5、安装完成,注册一个Runner:(避坑指南:同上,sudo问题)
sudo gitlab-runner register
6、上面注册执行完后会弹出输入,即url、token等配置的输入,这些信息都在你的gitlab项目中,找到你的project -> Settrings -> Pipeline(有的是CI/CD,Runners,一样,都会有url和token):
- Enter your GitLab instance URL:https://xxx/url
- Enter the token:xxxtokenxxx
- Enter a description:自我介绍一下
- Enter the tags:起个名字
- Provide the runner executor:这里会列出很多个,比如shell,docker等,我选择的是docker
- Enter the default Docker image:这里填一个可以访问到的docker镜像image,在项目的根目录应该有一个配置文件.gitlab-ci.yml,这里会有ci的一些关键字,image:镜像地址,script:执行指令,only:tag,支持正则,匹配tag后会执行对应的模块,这里具体使用需要哪些可以自行查找。
7、上面注册完成并输入相关配置后,成功会显示Runner registered successfully.,至此,回到gitlab显示runners的地方就会有一个Specific Runners出现,你可以配置是否启用,移除等操作。
8、注册完成并启用后就可以打包了,一般runner都需要有tag才能,这个可以在配置中看到,这样在Repository -> Tags -> New tag,填写Tag name(.gitlab-ci.yml中每个模块的only记录的tag名称),选择代码分支,填写message,最后可以Create Tag
9、创建Tag后,可以在Pipeline中看到执行状态,running,canceled,failed/passed,至此,完成runner部署和验证完成。
10、runner要执行的内容还是要看项目的根目录下的.gitlab-ci.yml,具体项目具体分析。