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

相关推荐
心灵彼岸-诗和远方9 小时前
Devops业务价值流:软件研发最佳实践
运维·产品经理·devops
上辈子杀猪这辈子学IT11 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
A ?Charis1 天前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab
秋说1 天前
开源代码管理平台Gitlab如何本地化部署并实现公网环境远程访问私有仓库
gitlab·源代码管理
大卡尔1 天前
Reviewbot 开源 | 为什么我们要打造自己的代码审查服务?
devops·code review·静态检查·工程效率
极小狐1 天前
驭码上新,AI Code Review、基于代码库的知识问答,让研发起飞
gitlab·devsecops·devops·极狐gitlab·安全合规
UsamaBinLaden1 天前
Ubuntu和Debian系列的Release默认shell解释器变更
linux·ubuntu·debian
蚊子不吸吸2 天前
DevOps开发运维简述
linux·运维·ci/cd·oracle·kubernetes·gitlab·devops
思码逸研发效能2 天前
度量数据是人工凭感觉录入的,产生的偏差如何解决?
研发效能·devops·研发效能度量·研发管理
鱼忆梦3 天前
Debian的基本使用
运维·debian