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

相关推荐
小飞程序员4 天前
Docker本地部署gitlab实践(windows,linux)
devops
欧云服务器5 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
~远在太平洋~5 天前
Debian系统如何删除多余的kernel
linux·网络·debian
牛奶咖啡135 天前
DevOps自动化运维实践_使用再生龙对Linux系统进行备份还原
运维·自动化·devops·linux系统的备份还原·linux系统克隆备份·再生龙
~远在太平洋~5 天前
debian系统已安装python3.12却无法执行python命令
chrome·python·debian
Aliex_git5 天前
Dockerfile 优化实践笔记
笔记·学习·gitlab
觅特科技-互站5 天前
告别手动微调Prompt:DevOps用陌讯Skills重构AI运维工作流
运维·prompt·线性回归·kmeans·devops
加农炮手Jinx5 天前
Flutter for OpenHarmony: Flutter 三方库 icon_font_generator 自动化将 SVG 图标集转化为字体文件(鸿蒙矢量资源全自动管理)
运维·flutter·华为·自动化·harmonyos·devops
成为你的宁宁5 天前
Jenkins 自动化部署前后端分离若依项目全攻略:涵盖环境配置、Maven/Node.js 工具安装、GitLab 项目协同,及前后端构建、服务器推送与代码更新验证全步骤
node.js·自动化·gitlab·jenkins·maven
codingWhat6 天前
手把手系列之——前端工程化
ci/cd·devops·前端工程化