如何安装和注册 GitLab Runner

server/2024/9/22 14:20:42/

如何安装和注册 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 = falseimage = "alpine:latest"privileged = truedisable_entrypoint_overwrite = falseoom_kill_disable = falsedisable_cache = falsevolumes = ["/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.ppmy.cn/server/120307.html

相关文章

【Docker】安装全流程与配置完整镜像源(可安装 nginx)

目录 一、卸载历史版本(选)二、配置 yum 源三、安装 docker四、配置 docker 镜像源加速(选、强烈建议)4.1 配置阿里镜像加速4.2 配置其他镜像源 五、启动 docker参考文章与视频 本文基于 Linux - CentOS 7 操作系统。 一、卸载历史…

系统架构设计师 大数据架构篇二

大数据架构 🌐 大数据处理系统分析 🔍 大数据处理系统三大挑战 🚀 非结构化数据处理:如何处理非结构化和半结构化数据。复杂性与不确定性:大数据复杂性、不确定性特征描述的刻画方法和大数据的系统建模。异构性影响…

机械设备产品资料方案介绍小程序系统开发制作

设备产品资料介绍小程序系统,是一家工业机械设备生产厂家为了更好的服务客户而定制开发的一套小程序系统,让用户通过小程序就可以了解公司产品介绍的详细参数、售后服务和产品操作手持等。 该小程序系统里面主要开发的功能模块有: 1、产品目…

【百日算法计划】:每日一题,见证成长(020)

题目 删除字符串中的所有相邻重复项 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一…

Java流程控制语句——跳转语句详解:break 与 continue 有什么区别?

🌐在Java编程中,break和continue是两个重要的控制流语句,它们允许开发者根据特定条件改变程序的执行流程。虽然两者都用于中断当前的行为,但它们的作用方式不同。本文将通过生动的例子来详细解释这两个语句,并使用流程…

代码随想录算法训练营|344.反转字符串、541. 反转字符串II、54.替换数字

344.反转字符串 题目 参考文章 思路:本题的运用双指针的方式,掉换两个头尾两个元素,然后指针收缩再继续掉换,这里无论字符串大小是否为奇偶,都是可以判断出来的 代码: class Solution {public void rev…

【NTN 卫星通信】关于卫星通信的一次访谈

1 概述 通过CSDN的途径,有个咨询公司找到我,说是有投资公司看到我的博客,希望做一次访谈,我回答了10个问题,现在发到博客上;很多观点都是自己根据经验拍的,并没有严格的计算,有兴趣的…

C++STL六大组件

C标准模板库(STL)是一个功能强大的库,提供了六大组件,这些组件相互协作,为开发者提供了高效且可重用的数据结构和算法。以下是这六大组件的详细介绍: 容器是用于存储数据的数据结构,它们提供了…