如何在 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。

相关推荐
Kkooe11 小时前
GitLab|GitLab报错:Restoring PostgreSQL database gitlabhq_production...
gitlab
小柒xq1 天前
使用docker compose安装部署gitlab
docker·容器·gitlab
桥豆麻袋93931 天前
Sourcetree登录GitLab账号
linux·服务器·gitlab
XMYX-02 天前
深入理解 DevOps:从理念到实践
运维·devops
cronaldo912 天前
研发效能DevOps: Vite 使用 Axios 实现数据双向绑定
vue.js·vue·devops
联蔚盘云2 天前
阿里云 DevOps 资源安全扫描实践
安全·阿里云·devops
落非2 天前
kubesphere问题处理:devops
运维·devops
活宝小娜2 天前
标题gitLab如何打标签
gitlab
东方不败之鸭梨的测试笔记2 天前
如何建立devops?
java·运维·devops
运维&陈同学3 天前
【第三章】Python基础之元组tuple
linux·开发语言·python·运维开发·devops