简单介绍
gitlab-runner
实际运行时,会远程获取我们的代码仓,然后执行配置的.gitlab-ci.yaml
,这个文件和jenkinsfile
一个性质,里面定义了CICD的检测流程。
即gitlab-runner
和我们的代码仓是完全解耦的。是可以部署在其他服务器上,且可以部署多个的。
1、创建volume
首先需要为 gitlab-runner 创建一个公共配置存在路径,目的是为了共享配置。
可以是具体的文件路径,也可以使用 docker volume create
创建一个公共挂载,后续其他的runner都挂载此目录,即可实现共享配置。
docker volume create gitlab-runner-config
2、注册runner
注意事项:
1、获取gitlab基础信息。 settings > CI/CD > Runners > Collapse > 复制 Url & Token
注册runner
docker run --rm -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner register \
--non-interactive \
--url "Gitlab 的 URL 复制过来" \
--registration-token "Gitlab 的 Token 复制过来" \
--executor "docker" \
--docker-image "要运行的镜像,eg: python:3.6.8" \
--description "docker-runner-test" \
--tag-list "docker,test" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected" \
--docker-pull-policy="if-not-present"
注册完成后在获取 settings > CI/CD > Runners > Collapse > 复制 Url & Token
的界面下方,会出现你注册的 runner 信息。没有可以刷新看看,实在没有,应该是注册失败了。
3、启动runner
docker run -it --name gitlab-runner --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
4、管理runner
help
帮助指令
docker run -it --name gitlab-runner --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest help
docker run -it --name gitlab-runner --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest help unregister
list
列表查看runner
docker run -it --name gitlab-runner --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest list
unregister
删除runner
docker run -it --name gitlab-runner --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest unregister -t=GIRLAB_TOKEN