第一步
docker pull gitlab/gitlab-runner:latest
mkdir -p /opt/gitlab-runner/config
docker run -d --name gitlab-runner --restart always -v /opt/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
第二步
进入runner容器,注册到gitlab上,本人就偷懒了,直接免交互式了。
docker exec -it gitlab-runner gitlab-runner register -n \
--url https://gitlab.inner.abc.com/ \
--registration-token abcxxxxxxxxxx-dnP \
--executor docker \
--tag-list=dockersock,ali-docker \
--description "aliyun docker runner" \
--docker-privileged=true \
--docker-pull-policy="if-not-present" \
--docker-image "docker:latest" \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock \
--docker-volumes $HOME/.m2:$HOME/.m2
第三步
验证一下配置文件吧
#宿主机上查看
cat /opt/gitlab-runner/config/config.toml
#docker 容器内查看配置
docker exec -it gitlab-runner cat /opt/gitlab-runner/config/config.toml
第四步
查看runner是否注册上去了! 再编写一个cicd 文件 前提,你需要懂这个cicd的语法。要不然运行下面的配置也是报错。
before_script:
- bundle install
test:2.6:
image: ruby:2.6
services:
- postgres:9.3
script:
- bundle exec rake spec
test:2.7:
image: ruby:2.7
services:
- postgres:9.4
script:
- bundle exec rake spec
运行后查看容器images,是否存在
参考: Docker 执行器 Docker安装Gitlab-runner
|