gitlab-runner使用
1. 安装gitlab-runne后使用如下命令注册runner,支持shell,docker.
gitlab-runner register
2.注册完gitla-runn后,在git上看到的gitlab-runner还并没有激活,需要使用如下步骤激活:
sudo cp ~/.gitlab-runner/config.toml /etc/gitlab-runner/config.toml sudo gitlab-runner verify
这个再去git上看,gitlab-runner已经是绿色可用了.
3.gitlab-runne使用docker镜像时设置挂载目录,修改/etc/gitlab-runner/config.toml,插入如下字段
volumes = ["/path/in/host:/path/in/docker:rw"]
插入后重新激活gitlab-runne.
sudo gitlab-runner verify
4. gitlab-runne使用docker镜像时配置docker内网络,使用主机网络,也可在runners.docker定制化自定义网络。
dns = ["8.8.8.8"]
network_mode = "host" #使用主机网络 userns_mode = "host" cap_add = ["NET_ADMIN"] # 特性配置 cap_drop = ["DAC_OVERRIDE"] devices = ["/dev/net/tun"]
5. gitlab-runne默认使用在线docker镜像,有时使用私有镜像会导致拉不下来的问题,可通过配置使用本地镜像。
## 默认是pull_policy="always"
pull_policy="if-not-present
参考链接为:https://www.jianshu.com/p/2b7e73b0a096
根据测试发现使用在线拉取不下来的原因是在Variable中虽然配置了DOCKER_AUTH_CONFIG点击protect和mask导致无法识别,将两者取消就可以了
6. 新版本gitlab-runner删除runner
gitlab-runner verify
gitlab-runner run &
7. gitlab-runner拉取代码失败,可能是域名或者防火墙限制,导致无法解析
remote: HTTP Basic: Access denied fatal: Authentication failed for 'http://git.flmcloud.com/pikaqiu/factory.git/'
可在/etc/gitlab-runner/config.toml中加入clone_url = "https://git.flmcloud.com/"来解决这个问题。
子模块代码拉取失败也可能是.gitmodules中的地址后缀没有加.git
8. 安装
实际过程中发现有时候安装版本过低会导致使用docker会出现提示API过低的错误信息,建议安装直接从清华源下载deb进行安装,选择较高版本
https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner/
9. 新搭建gitrunner可能会存在创建目录失败的问题,需要手动创建。