当前位置: 首页 > news >正文

gitlab-runner配置问题记录

引言

笔者曾通过2种方式部署过 gitlab-runner,在 gitlab 中使用这个 runner 拉起 ci job 的过程中或多或少遇到些问题,主要都是 job 中无法访问宿主机的docker 等组件。本篇文档主要记录 gitlab-runner 安装及相关配置。

二进制部署 gitlab-runner

部署

以 arm64 架构的为例

arch="arm64"
curl -LJO "https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/rpm/gitlab-runner-helper-images.rpm"
curl -LJO "https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/rpm/gitlab-runner_${arch}.rpm"rpm -i gitlab-runner-helper-images.rpm gitlab-runner_arm64.rpm

配置 gitlab-runner

这里就是主要出现问题原因所在,要把 gitlab-runner 的执行用户更新为 root

vi /etc/systemd/system/gitlab-runner.service# 修改 "--user" "gitlab-runner" 中的 gitlab-runner 为root,结果如下
ExecStart=/usr/bin/gitlab-runner "run" "--config" "/etc/gitlab-runner/config.toml" "--working-directory" "/home/gitlab-runner" "--service" "gitlab-runner" "--user" "root"systemctl daemon-reload
systemctl restart gitlab-runner
ps aux | grep gitlab-runner

docker 容器部署 gitlab-runner

部署

sudo docker run -d --name gitlab-runner --restart always -u root \-v /srv/gitlab-runner/config:/etc/gitlab-runner \-v /var/run/docker.sock:/var/run/docker.sock \gitlab/gitlab-runner:latest

配置

在正常 gitlab-runner register 后,得到一个新的 runner 会生成配置到配置文件/etc/gitlab-runner/config.toml 中。此时,需要去更新这个文件中的 runner 的 volumes 信息。

[[runners]]executor = "docker"[runners.docker]volumes = ["/var/run/docker.sock:/var/run/docker.sock"] # 必须,主要就是配置这个

配置完成后,执行 gitlab-runner restart 即可。

http://www.dtcms.com/a/285819.html

相关文章:

  • hive分区表临时加载日批数据文件
  • TapData 出席 2025 MongoDB 用户大会新加坡站,分享构建实时统一数据平台最佳实践
  • day24 力扣93.复原IP地址 力扣78.子集 力扣90.子集II
  • 【基座模型】Qwen3报告总结
  • 告别 addEventListener
  • effective python 条款11 学会对序列做切片
  • 人脸检测算法——SCRFD
  • 智能Agent场景实战指南 Day 16:Agent记忆系统设计
  • 解决 Selenium 页面跳转过快导致的内容获取问题:从原理到实践
  • 基于ROS2进行相机标定,并通过测试相机到棋盘格之间的距离进行验证
  • 大模型格式
  • (一)Eshop(异常处理中间件)
  • 工业数据集成中间件工具OPC Router详细介绍
  • Prompt:开启与AI高效对话的钥匙
  • pycharm windows/linux/mac快捷键
  • Ubuntu18.04开机启动执行脚本
  • 算法-查找算法
  • Git分支管理与Stash技巧:从基础到高级工作流详解
  • C++ - 仿 RabbitMQ 实现消息队列--需求分析与模块设计
  • # Redis-stable 如何在Linux系统上安装和配置
  • 文件流导出文件
  • 小米深圳大厦正式开园,为全球化竞争注入新动能
  • Golang 中 JSON 和 XML 解析与生成的完全指南
  • 一段黄昏小感
  • Linux地址空间
  • 论文分享 | LABRADOR:响应引导的针对物联网设备的黑盒模糊测试
  • 基于ASP.NET+SQL Server的网站登录注册功能设计与实现
  • 软件工程中的《资本论》
  • 文档处理控件TX Text Control系列教程:使用 C# .NET 将二维码添加到 PDF 文档
  • stack and queue 之牛刀小试