Gitlab Runner 安装的时候从网上查找资料,找了很多也没有找到我自己的情况一键安装的,然后根据官网和GOOGLE自己好不容易摸索出来安装,现分享出来供大家使用。事先声明,本文档只对以下情况负责:
- 操作系统为CentOS, 已验证通过,其他不做保证
- 系统和Gitlab不在一台机器,但是在同一个网段,可以互通
- 系统在中国大陆,所以镜像用的国内镜像
安装GitLab Runner
- 添加官方极狐GitLab 仓库:
对于 Debian/Ubuntu:
1 | curl -L "https://packages.gitlab.cn/repository/raw/scripts/runner.deb.sh" | sudo bash |
对于 RHEL/CentOS:
1 | curl -L "https://packages.gitlab.cn/repository/raw/scripts/runner.rpm.sh" | sudo bash |
- 安装最新版本的极狐GitLab Runner。
对于 Debian/Ubuntu/Mint:
1 | sudo apt-get install gitlab-runner |
对于 RHEL/CentOS/Fedora:
1 | sudo yum install gitlab-runner |
-
使用 Docker 卷启动 Runner 容器
3.1 创建 Docker 卷
1
docker volume create gitlab-runner-config
3.2 使用刚创建的卷启动极狐GitLab Runner 容器
1
2
3
4docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
获取Runner注册信息
由于我有多个项目要使用Runner,且基础配置都差不多,所以此处我选用了共享Runner来创建。
- 打开Gitlab
- 打开需要共享的项目
- 在项目中转到设置 > CI/CD
- 找到Runners 并展开
- 在Shared runners中启用共享按钮
- 记下左侧生成的URL和token
注册Runner
由于我要在Docker中允许Runner,所以请先确保安装Docker。
注册步骤:
- Docker卷挂载
docker run --rm -it -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest register - 输入您的上一步获取到的 URL
- 输入您的上一步获取到的令牌(token)。
- 输入 Runner 描述。您可以在极狐GitLab UI 中进行变更。
- 输入以逗号隔开的与 Runner 有关的标签,您可以后续在极狐GitLab UI 中进行变更。
- 为 Runner 输入可选的维护记录。
- 提供 Runner 执行器。对于大多数用例来说,输入 docker。
- 如果您输入 docker 作为执行器。对于在 .gitlab-ci.yml 中没有定义镜像的项目,系统会要求您使用默认镜像。这里选择了
node:18-alpine
出现以下提示即表示注册成功
1 | Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! |
移除锁定并共享给其他项目
- 查看当前项目是否锁定(如果按照以上步骤操作则会锁定)
如下图所示,如果有小锁表示已经锁定,锁定的runner只能为当前项目使用,其他项目无法使用

-
点击编辑按钮(铅笔标记)
-
取消锁定
取消复选框的选中状态,然后保存

- 进入到需要共享的项目
- 点击共享按钮即可

给项目指定运行的Runner
如果存在多个Runner,我们需要指定的Runner运行我们的代码,例如我们需要在test-runner中执行我们的测试任务,则这时候需要先在runner中指定Tags,不同Tags以英文逗号分隔,例如:

设定完runner后,我们需要编辑项目的.gitlab-ci.yml ,给项目指定runner:

初始化Runner
这时进入Gitlab Runner中查看当前Runner,发现Runner名称前面有一个警告标志,显示:‘New runner, has not connected yet’,代表我们的Runner是一个新的,还没有初始化。
先执行命令"gitlab-runner verify", 然后再执行"Initializing executor providers" 等待初始化执行器即可。
修改配置允许使用本地镜像
Runner在拉取镜像的时候会默认优先拉取公网上的镜像,要加快我们的执行效率,我们可以先在本地配置一个镜像,然后修改Runner配置,让他优先选择本地镜像,如果本地镜像不存在了再拉取公网镜像。
首先进入gitlab-runner的镜像:docker exec -it gitlab-runner /bin/bash
配置文件在:/etc/gitlab-runner/config.toml
修改文件内容:
1 | concurrent = 1 |
即最后一行的pull_policy改为never。
如果我们对 config.toml 这个配置文件做了修改,则需要重启 Docker 中的 gitlab-runner 来应用修改。
1 | docker restart gitlab-runner |
执行CI命令,并查看
编辑完.gitlab-ci.yml 文件,然后在CI/CD中点击Run pipeline 即可,可在Job中查看代码执行过程

也可以在运行runner的机器上核查结果
到此我们的runner即配置完毕了。
使用时指定Docker 镜像
- 为加快下载速度,首先先下载镜像到本地
- 搜寻镜像
docker search node:18-alpine - 拉取镜像
docker pull node:18-alpine - 查看镜像
docker images
- 搜寻镜像
- .gitlab-ci.yml中指定镜像名称
1 | image: node:18-alpine |
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !