Docker方式:
1 | docker run -d --name gitlab-runner --restart always \ |
其中
/home/ubuntu/glab_runner为存放gitlab runner配置文件的位置
*:*为对应关系
进入容器docker exec -it e6ecd9372fcb bash, 并进行注册gitlab-runner register
依次按提示输入信息
(其中 Enter an executor: docker, docker+machine, kubernetes, custom, docker-ssh, parallels, shell, ssh, virtualbox, docker-ssh+machine: 选择docker)
此时在gitlab某项目的 设置-CI/CD-Runner,可以看到新增加的Runner,且description和tags和上面输入的一一对应
在项目中添加.gitlab-ci.yml,tags指定cui_test,则将可以用刚注册的Runner去跑.gitlab-ci.yml描述的任务
原生方式安装(以Ubuntu为例)
curl -LJO “https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_amd64.deb“
dpkg -i gitlab-runner_amd64.deb
激活:
1 | sudo gitlab-runner verify |
查看配置文件:
删除某个runner:
gitlab-runner verify --delete --name xxx
原生方式安装(以Mac为例)
下载并安装Gitlab-runner命令行(二进制文件)
1 | sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64 |
初始化gitlab-runner:
1 | cd ~ |
…
目前看还不支持arm的机器
20250509 帮ry安装, 用ai给的:
各种Executor各方面特点的比较:
给的结果不太行…
不如直接用gitlab仓库那里给的命令:
https://git.ont.io/devops/test-runner/-/settings/ci_cd
Download the binary for your system
sudo curl -L –output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
Give it permission to execute
sudo chmod +x /usr/local/bin/gitlab-runner
Create a GitLab Runner user
sudo useradd –comment ‘GitLab Runner’ –create-home gitlab-runner –shell /bin/bash
Install and run as a service
sudo gitlab-runner install –user=gitlab-runner –working-directory=/home/gitlab-runner
sudo gitlab-runner start
sudo gitlab-runner register –url https://git.ont.io/ –registration-token GR1348941XULjBNUYNa5bbQvrzhxo
https://git.ont.io/devops/test-runner/-/settings/ci_cd
gitlab runner如何读取secret
GitLab Runner 可以通过几种不同的方式读取和使用敏感信息(secrets)。以下是主要的方法:
1. CI/CD 变量
GitLab CI/CD 提供了变量功能,可以在项目或组级别设置敏感信息:
项目设置中添加变量:
- 进入项目 → Settings → CI/CD → Variables
- 添加键值对,并标记为”Protected”和”Masked”以增强安全性
- 在
.gitlab-ci.yml中可以使用$VARIABLE_NAME引用这些变量
组级别变量:
- 在组设置中设置变量,将应用于组内所有项目
2. GitLab 环境文件
对于 Docker executor,可以使用环境文件:
1 | job: |
3. GitLab CI 文件变量
.gitlab-ci.yml 中可以直接定义变量(不推荐用于敏感信息):
1 | variables: |
4. Vault 集成
对于更复杂的环境,可以使用 HashiCorp Vault:
1 | job: |
5. Runner 配置文件中的环境变量
在 Runner 配置文件 (config.toml) 中设置全局环境变量:
1 | [[runners]] |
安全建议:
- 优先使用 GitLab CI/CD 变量功能
- 对敏感变量启用 “Protected” 和 “Masked” 选项
- 考虑使用外部密钥管理系统(如 Vault)用于生产环境
- 避免在
.gitlab-ci.yml中直接存储敏感信息
您需要针对特定的 secret 管理需求提供更多细节吗?
runner分好几种: 项目级别的,全局共享的
二进制方式,和docker方式安装的git, 也都可以在选择 执行器模式 时选shell,或者docker
您需要为您的 GitLab Runner 选择一个执行器(executor)。每种执行器有不同的特点和用途,以下是主要选项的比较,帮助您做出选择:
常用执行器类型:
shell - 最简单,直接在 Runner 所在机器上执行命令
- 优点:设置简单,无需额外依赖
- 缺点:可能污染主机环境,安全性较低
docker - 在 Docker 容器中执行作业
- 优点:隔离环境,可指定镜像,干净的执行环境
- 缺点:需要 Docker 环境
kubernetes - 在 Kubernetes 集群中执行作业
- 优点:高度可扩展,适合大型团队和复杂部署
- 缺点:需要 Kubernetes 集群,配置复杂
ssh - 通过 SSH 在远程服务器上执行作业
- 优点:可利用远程机器资源
- 缺点:需要 SSH 配置和凭证管理
custom - 自定义执行器实现
- 优点:完全自定义控制
- 缺点:需要自行开发和维护
推荐选择:
- 开发/测试环境:Shell 或 Docker(Docker 更推荐,因为环境隔离)
- 生产环境:Docker 或 Kubernetes(取决于规模和复杂度)
- 特殊需求(如 Windows 构建):docker-windows 或适合的专用执行器
如果您是初次设置或不确定,Docker 执行器是一个很好的平衡点 - 它提供良好的隔离性和可重复性,同时配置相对简单。
您使用的环境是什么?这是开发、测试还是生产环境?有任何特殊的构建需求吗?
标签可加可不加..但如果设置runner时加了,就必须在项目的 .gitlab-ci.yml中显式也写上
原文链接: https://dashen.tech/2016/01/06/gitlab-runner的安装与配置/
版权声明: 转载请注明出处.