Docker安装gitlab-runner并注册使用

本文介绍了如何在Ubuntu 16.04环境下使用Docker安装GitLab Runner,并进行注册与配置。首先通过Docker拉取gitlab/gitlab-runner镜像,然后以守护进程方式运行容器并连接docker.sock。接着,使用`docker exec`命令注册Runner,指定GitLab实例URL、注册令牌和Runner描述。最后,选择docker作为Executor并设置默认Docker镜像为maven:latest。完成注册后,Runner将在GitLab中显示为active状态,可编辑配置以取消标签限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、基础环境

docker环境、gitlab

2、gitlab-runner安装

下载:

root@ubuntu1604:~# docker pull gitlab/gitlab-runner

运行:

root@ubuntu1604:~# docker run -d --name gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock --restart always gitlab/gitlab-runner
ea6d71b9efddc7a9fce02e404818b159ef25ec3d5f610fb10d3bf579192d96ca

注册:

root@ubuntu1604:~# docker exec -it gitlab-runner gitlab-ci-multi-runner register
Runtime platform                                    arch=amd64 os=linux pid=19 revision=e0218c92 version=14.3.2
Running in system-mode.                            
                                                   
Enter the GitLab instance URL (for example, https://gitlab.com/):
https://xxxxxx.xxxxxxx.xxx/
Enter the registration token:
sXsENwd_UkTwjyJ2Uohd
Enter a description for the runner:
[ea6d71b9efdd]: test
Enter tags for the runner (comma-separated):
test
Registering runner... succeeded                     runner=sXsENwd_
Enter an executor: docker, virtualbox, docker-ssh+machine, docker+machine, kubernetes, custom, docker-ssh, parallels, shell, ssh:
docker
Enter the default Docker image (for example, ruby:2.6):
maven:latest
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 

url和token,打开gitlab>项目>settings>CI/CD>Runners>Specific runners

 然后刷新页面,可以看到runners,绿色为active可用。点击编辑,设置为runner job without tags,这样不受标签限制:

 

### 使用 Docker 部署 GitLab Runner 的指南 为了使用 Docker 容器化技术来部署 GitLab Runner,可以遵循一系列特定的操作流程。这不仅简化了环境设置过程,还提高了不同开发阶段的一致性和可移植性。 #### 准备工作 确保本地机器上已经安装配置好 Docker 环境。如果尚未完成此操作,则需先访问官方文档获取详细的安装指导[^2]。 #### 下载 GitLab Runner 镜像 通过执行如下命令下载最新的 GitLab Runner Docker 镜像: ```bash docker pull gitlab/gitlab-runner:latest ``` #### 创建专用网络 (推荐) 为提高容器间通信的安全性和效率,建议创建一个新的自定义桥接网络用于 GitLab 和其关联服务之间的交互: ```bash docker network create gitlab-network ``` #### 启动 GitLab Runner 容器实例 启动 GitLab Runner 实例时指定必要的参数以实现最佳性能和功能支持。下面是一个典型的 `docker run` 命令示例,其中包含了注册 token (`REGISTRATION_TOKEN`) 及其他重要选项: ```bash docker run -d --name gitlab-runner \ --network gitlab-network \ -v /srv/gitlab-runner/config:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \ gitlab/gitlab-runner:latest ``` 这里 `-v` 参数用来挂载主机上的路径至容器内部;特别是 `/var/run/docker.sock` 文件映射允许 GitLab Runner 访问宿主机的 Docker Daemon 进而构建项目镜像。 #### 注册 GitLab Runner 到 CI/CD 流水线 一旦容器成功运行起来之后,就需要将其注册到目标 GitLab 实例中去参与持续集成管道的工作。可以通过向上述创建好的容器发送 HTTP 请求或者直接进入容器内部执行注册脚本来达成目的。具体做法取决于所使用GitLab 版本和个人偏好。 对于基于 Web UI 方式的注册方法,请参照官方手册中的说明进行操作[^3]。 #### 自动化配置 Maven 私服连接 当涉及到 Java 或者 Kotlin 类型的应用程序时,在 `.gitlab-ci.yml` 中添加适当的前置指令能够帮助自动复制预设好的 `settings.xml` 至默认位置从而顺利完成依赖解析任务。 ```yaml before_script: - mkdir -p ~/.m2 - cp .mvn/conf/settings.xml ~/.m2/ ``` 以上步骤展示了如何利用 Docker 技术快速搭建起一个可用的 GitLab Runner 使其参与到自动化测试与发布过程中来。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值