安装高版本的docker
#安装国内阿里云镜像
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#查看版本
yum list docker-ce --showduplicates
#安装最新版本的docker
yum install docker-ce
安装runner
#添加源
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
可能出现不可识别的操作系统,使用以下方式手工指定版本号安装
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh > script.sh
chmod +x script.sh
os=centos dist=7 ./script.sh
安装runner
yum install gitlab-ci-multi-runner
注册runner
gitlab-ci-multi-runner register --non-interactive --executor "docker" --docker-image docker:stable --url "http://xx.xx.xx.xx/" --registration-token "pAnXx6cPijqzE1RC9c9T" --description "docker-runner" --tag-list "docker" --run-untagged="false" --locked="false" --docker-privileged
#注册runner
#gitlab-ci-multi-runner register --non-interactive --executor "shell" --url "http://xx.xx.xx.xx/" --registration-token "pAnXx6cPijqzE1RC9c9T" --description "shell-runner" --tag-list "shell" --run-untagged="false" --locked="false"
启动runner
gitlab-runner restart
解决普通用户没有权限问题 dial unix /var/run/docker.sock: connect: permission denied
#添加docker用户组
groupadd docker
#把当前用户加入docker用户组
gpasswd -a gitlab-runner docker
#重启docker
service docker restart
shell使用root用户
vi /etc/systemd/system/gitlab-runner.service (centos7.x)
vi /etc/rc.d/init.d/gitlab-runner (centos6.x)
将 -user 后面的用户gitlab-runner改成root保存
在执行以下命令生效
systemctl daemon-reload
systemctl restart gitlab-runner
在Runner上执行Docker构建工作应该添加以下计划任务
1 1 * * * docker rm $(docker ps -q -f status=exited)
3 1 * * * docker volume rm $(docker volume ls -qf dangling=true)
5 1 * * * docker rmi -f $(docker images "ccr.ccs.tencentyun.com/mydir/*" -q --no-trunc)