如何在 Debian 上安装运行极狐GitLab Runner?【一】

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitLab,详情可以参考极狐GitLab 下载安装官网。

GitLab 中文版学习资料

前言

极狐GitLab 是一个一体化的 DevOps 平台,CI/CD 是内置的功能,这也就是常说的极狐GitLab CI 要做的工作。而实现极狐GitLab CI 的核心组件是极狐GitLab Runner ------ 一个轻量级、高扩展的代理,用来运行你的 CI/CD 作业并且将结果发送回极狐GitLab 实例。极狐GitLab Runner 和极狐GitLab CI/CD 绑定在一起。
极狐GitLab Runner 支持多种操作系统:

  • CentOS
  • Debian
  • Ubuntu
  • RHEL
  • Fedora
  • Mint
  • Oracle
  • Amazon

也支持多种 CPU 架构:

  • x86
  • AMD64
  • ARM64
  • ARM
  • s390x
  • ppc64le

而且也支持多种安装方式:源码、软件包、二进制文件以及容器安装。

本文演示在 Debian 12 上安装配置极狐GitLab 的两种方式:二进制安装 & 容器化安装。

软件包安装

下载安装包并安装

使用如下命令下载 Runner 安装包并查看:

复制代码
$ curl -LJO "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_${arch}.deb"

$ ls -ltr
-rw-r--r-- 1 root root 491857186 Mar 26 11:35 gitlab-runner_amd64.deb

执行如下命令即可完成安装:

复制代码
$ dpkg -i gitlab-runner_amd64.deb

Selecting previously unselected package gitlab-runner.
(Reading database ... 64318 files and directories currently installed.)
Preparing to unpack gitlab-runner_amd64.deb ...
Unpacking gitlab-runner (16.10.0-1) ...
Setting up gitlab-runner (16.10.0-1) ...
GitLab Runner: creating gitlab-runner...
Home directory skeleton not used
Runtime platform                                    arch=amd64 os=linux pid=226784 revision=81ab07f6 version=16.10.0
gitlab-runner: the service is not installed
Runtime platform                                    arch=amd64 os=linux pid=226796 revision=81ab07f6 version=16.10.0
gitlab-ci-multi-runner: the service is not installed
Runtime platform                                    arch=amd64 os=linux pid=226830 revision=81ab07f6 version=16.10.0
Runtime platform                                    arch=amd64 os=linux pid=226876 revision=81ab07f6 version=16.10.0

Check and remove all unused containers (both dangling and unreferenced) including volumes.
------------------------------------------------------------------------------------------
Total reclaimed space: 0B

通过 --version查看安装是否成功:

复制代码
$ gitlab-runner --version
Version:      16.10.0
Git revision: 81ab07f6
Git branch:   16-10-stable
GO version:   go1.21.7
Built:        2024-03-21T19:43:25+0000
OS/Arch:      linux/amd64

注册 Runner

在极狐GitLab 上选定项目,在设置 --> CI/CD --> --> Runner中在项目 Runner 中选择新建项目 Runner:

点击新建项目 Runner ,填写所需的信息,然后点击创建 runner:

在出现的界面中会给出 Runner 注册的命令(同时也会包含 Runner 注册的 token,此 token 需要好好保存):

copy 上面的命令注册 Runner:

复制代码
$ gitlab-runner register  --url https://jihulab.com  --token glrt-SYhzxxxxx5KDhZU

Enter the GitLab instance URL (for example, https://gitlab.com/):
[https://jihulab.com]: https://jihulab.com
Verifying runner... is valid                        runner=SYhzyjbEb
Enter a name for the runner. This is stored only in the local config.toml file:
[VM-20-9-debian]: debian-runner
Enter an executor: parallels, docker-autoscaler, docker+machine, kubernetes, custom, shell, ssh, virtualbox, docker, docker-windows, instance:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml"

输入必要的信息即可完成 Runner 注册。

参数说明:

  • --url:极狐GitLab 实例的地址,可以是私有化部署实例的地址,也可以是 SaaS 地址(https://jihulab.com)

  • --token:runner 的注册 token。

这时候就可以在项目 --> 设置 --> CI/CD --Runner 页面看到注册成功的 Runner 了:

测试 Runner

选择一个需要构建 CI/CD 的极狐GitLab 项目,创建一个 .gitlab-ci.yml文件,选择一个内置的 bash模版:

在 stage中用 tags使用刚注册成功 Runner:

复制代码
tags:
  - debian

提交变更即可触发 CI/CD 流水线:

可以看到流水线构建成功,查看作业的构建日志:

从日志可以看出作业就是刚才注册成功的 Runner 上执行的,因为注册时候给 Runner 取名为 debian-runner。

下一篇文章介绍用 docker 来安装 Runner。

相关推荐
智能运维指南11 小时前
软件测试管理系统选型:如何打通「需求—用例—缺陷」的质量闭环
devops·嘉为蓝鲸·软件测试管理系统
EdgeEcho1 天前
我的 GitHub Action 本地全绿,放上去五个 bug——包括一个让文件完全不执行的
devops
分布式存储与RustFS6 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
あ-7 天前
python3 ModuleNotFoundError: No module named ‘_sqlite3‘
devops
研发小能7 天前
制造行业 DevOps 国产替代怎么落地?面向离散制造与汽车集团的横向比较
研发效能·devops·嘉为蓝鲸
Mr.朱鹏8 天前
Docker三剑客实战指南:Docker、Dockerfile 和 Docker Compose
python·docker·devops·dockerfile
Liaiyang668 天前
# 自研 AST 容错初筛工具:横向评测 Django、PyTorch、TensorFlow 三大开源 Python 框架异常收容风险
python·测试工具·自动化·开源软件·代码规范·devops·代码复审
あ-8 天前
基于TencentOS的PVMCubeSandBox模板构建失败
devops
あ-8 天前
promtail收集日志异常排查
devops
daemon.qiang9 天前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件