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

如何安装和注册 GitLab Runner

如何安装和注册 GitLab Runner

GitLab Runner 是一个用于运行 GitLab CI/CD (Continuous Integration/Continuous Deployment) 作业。它是一个与 GitLab 配合使用的应用程序,可以在本地或云中运行。Runner 可以执行不同类型的作业,例如编译代码、运行测试、部署应用程序等。它支持多种执行器,包括 Shell、Docker、Kubernetes 等,以便灵活地运行作业。

1. GitLab Runner 的安装

在开始安装 GitLab Runner 之前,首先需要确认你的服务器上已经安装了 Git 和 Docker(如果你打算使用 Docker executor)。下面将展示在不同操作系统上安装 GitLab Runner 的方法。

1.1 在 Linux 上安装 GitLab Runner

  1. 打开终端,下载 GitLab Runner 的二进制文件:

    curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
    
  2. 为二进制文件添加执行权限:

    chmod +x /usr/local/bin/gitlab-runner
    
  3. 安装并启动 GitLab Runner 服务:

    gitlab-runner install
    gitlab-runner start
    

1.2 在 macOS 上安装 GitLab Runner

  1. 使用 Homebrew 安装 GitLab Runner:

    brew install gitlab-runner
    
  2. 安装后,启动 GitLab Runner:

    gitlab-runner start
    

1.3 在 Windows 上安装 GitLab Runner

  1. 下载 Windows 版本的 GitLab Runner 安装包,网址:GitLab Runner 下载

  2. 将下载的文件重命名为 gitlab-runner.exe,并将其移动到一个可执行路径中,例如 C:\GitLab-Runner

  3. 在命令提示符中安装 GitLab Runner 服务:

    gitlab-runner.exe install
    gitlab-runner.exe start
    

1.4 在 Ubuntu 上安装 GitLab Runner

  1. 添加 GitLab Runner 官方仓库

首先,添加 GitLab Runner 的官方仓库并导入 GPG 密钥。

# 安装必要的依赖
sudo apt-get install -y curl

# 添加 GitLab 官方 GPG 密钥
curl -fsSL https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
  1. 安装 GitLab Runner

现在使用 apt 包管理器来安装 GitLab Runner。

sudo apt-get install gitlab-runner
  1. 启动 GitLab Runner

在 Ubuntu 系统上,GitLab Runner 会作为系统服务运行。可以使用以下命令启动并启用 GitLab Runner 服务,以便在系统启动时自动运行:

sudo systemctl start gitlab-runner
sudo systemctl enable gitlab-runner

2. 注册 GitLab Runner

安装完 GitLab Runner 后,需要将其注册到你的 GitLab 实例中,这样它才能运行特定项目的任务。

2.1 获取注册令牌

  1. 登录到你的 GitLab 实例。
  2. 导航到你想要注册 Runner 的项目。
  3. 进入 Settings -> CI / CD,在 Runners 部分找到 Set up a specific Runner manually
  4. 复制项目的注册令牌。

2.2 运行注册命令

在你的服务器上运行以下命令开始注册:

gitlab-runner register

然后按照提示完成注册:

  1. 输入 GitLab 实例的 URL,例如 https://gitlab.com/
  2. 输入上一步获取的注册令牌。
  3. 输入描述信息和标记(tags),用于标识 Runner,多个标签用逗号分隔。
  4. 选择 Runner 执行器(executor),例如 dockershellvirtualbox 等。通常推荐选择 docker 以便于隔离和管理。

2.3 配置 Runner

完成注册后,可以通过编辑 config.toml 文件进一步配置 Runner。此文件通常位于 Runner 安装路径下的 ~/.gitlab-runner/ 目录中。根据安装环境的不同,该文件可能也位于 /etc/gitlab-runner/ 目录中。config.toml 文件用于定义 Runner 的行为和特性,如使用的执行器、环境变量、缓存设置等。

可以使用以下配置示例对 config.toml 进行修改:

[[runners]]
  name = "my-runner"
  url = "https://gitlab.com/"
  token = "xxxxxxxxxxxxxxxxxxxx"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.docker]
    tls_verify = false
    image = "alpine:latest"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]

3. 启动并验证 Runner

注册完成后,GitLab Runner 服务会自动运行。你可以通过以下命令查看其状态:

gitlab-runner status

如果一切正常,GitLab 中的项目设置页面会显示新的 Runner 已注册并可以使用。

配置runner以root用户运行

在某些场景下,您可能希望以 root 用户身份运行 GitLab Runner,以便拥有更高的权限来执行 CI/CD 作业。

1. 编辑配置文件

GitLab Runner 注册完成后,默认的配置文件位于 /etc/gitlab-runner/config.toml。使用文本编辑器打开该文件:

sudo nano /etc/gitlab-runner/config.toml

[[runners]] 配置块中,添加或修改 user 选项为 root

[[runners]]
  name = "my-runner"
  url = "https://gitlab.com/"
  token = "YOUR_RUNNER_TOKEN"
  executor = "shell"
  user = "root"
  [runners.custom_build_dir]
  [runners.cache]

2. 重启 GitLab Runner

保存配置文件后,需要重启 GitLab Runner 以使更改生效:

sudo gitlab-runner stop
sudo gitlab-runner start

或者使用系统服务管理工具:

sudo systemctl daemon-reload
sudo systemctl restart gitlab-runner

参考链接

  • GitLab Runner 文档:https://docs.gitlab.com/runner/
  • GitLab CI/CD 配置:https://docs.gitlab.com/ee/ci/
  • Docker 安装指南:https://docs.docker.com/engine/install/

在这里插入图片描述


http://www.kler.cn/news/311460.html

相关文章:

  • 【STM32系统】基于STM32设计的SD卡数据读取与上位机显示系统(SDIO接口驱动、雷龙SD卡)——文末资料下载
  • 单片机,传感器等低功耗管理
  • 模块化编程:构建灵活与高效的系统
  • python简介
  • L67 【哈工大_操作系统】操作系统历史 学习任务
  • spring MVC基础注解汇总
  • js取出一个对象中指定的字段(封装公共方法)
  • Redis 哨兵模式配置教程
  • docker在基础镜像上,比如rockylinux,如何配置yum仓库
  • AD域控服务器
  • Ubuntu22.04关闭631端口的方法
  • Java项目实战II基于Java+Spring Boot+MySQL的酒店客房管理系统(源码+数据库+文档)
  • Spring Controller
  • 如何确保Redis双删的准确性
  • React + Vite 多环境配置
  • 正也科技-辖区与指标管理系统 强化决策支持
  • 计算机网络 8.*结构化布线
  • 电力施工作业安全行为检测图像数据集
  • 【Python常用模块】_cx_Oracle模块详解
  • Docker SDK for Python: Python中操控Docker的利器
  • 【Linux进程控制】进程程序替换
  • Mac 上,终端如何开启 proxy
  • Vue3.0组合式API:使用reactive()、ref()创建响应式代理对象
  • hcia-openEuler V1.0师资题库-试卷3
  • 低代码平台中的数据源设计:构建高效应用的基础
  • 揭开 Vue 3 中大量使用 ref 的隐藏危机
  • 如何使用ssm实现基于WEB的文学网的设计与实现+vue
  • Utgard风格的平铺和Arm FrameBuffer Compression(AFBC)
  • iview Form Input组件按下回车键搜索和禁止触发表单默认事件
  • Rocky Linux 9 中添加或删除某个网卡的静态路由的方法