docker运行gitlab runner
2021-08-23 本文已影响0人
book_02
1. 参考
https://docs.gitlab.com/runner/install/docker.html
https://docs.gitlab.com/runner/register/index.html#docker
https://docs.gitlab.com/12.10/runner/register/
2. 说明
- gitlab runner 本身不在 gitlab 中,需要另外安装
- 为了让 gitlab 感知和调用,gitlab runner要向gitlab注册才能被使用
- 一个 gitlab Runner 可以注册到多个 gitlab
- 一个 gitlab 也有由多个注册的 gitlab runner
- gitlab runner 也有 windows 版本
- gitlab runner 最关键的配置文件夹是 /etc/gitlab-runner
3. 安装
docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
注意对关键配置文件夹 /etc/gitlab-runner
进行容器卷持久化,下面的注册也会用到
4. 注册
使用一次性容器来便捷注册,关键是用了上面安装时的同一个容器卷 /srv/gitlab-runner/config
下面的url和token要根据自己的gitlab来获取,见下方"如何获取url和token"
docker run --rm -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image alpine:latest \
--url "http://10.168.1.108:8929" \
--registration-token "aQqLxxoTVCdyin73x86t" \
--description "gitlab-runner" \
--tag-list "docker,localMachine" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"
解释下上面的参数:
- --executor指明runner使用的执行器。(执行器介绍见: https://docs.gitlab.com/runner/executors/index.html), 一般选择 docker
- --docker-image 如果执行器选择了docker,则要选择一个默认的docker镜像,在.gitlab-ci.yml中没有指定image参数时采用。
- --tag-list 是要为gitlab runner 设置的tag,可以为以后工程指定runner提供tag
如果注册成功,会在gitlab主页上的runners看到注册的runner信息,如下:
5. 如何获取url和token
6. 测试gitlab runner是否可用
在gitlab上添加一个 test 工程
添加文件 .gitlab-ci.yml,写入如下内容
image: gcc
build:
stage: build
script:
- echo build
test:
stage: test
script:
- echo test
提交后,去看CI/CD的执行情况,出现如下情况,标明 runner 可用:
7. gitlab-runner 注销
尝试如下注销指定 gitlab ci 的方式,注销失败
gitlab-runner unregister --url "http://10.168.1.108:8929" --token "aQqLxxoTVCdyin73x86t"
使用如下方式,注销成功
gitlab-runner unregister --all-runners