本文是一个系列,本篇为系列文章的第五篇:基于 AlmaLinux 9 部署 GitLab Runner 实战
第一篇:基于 AlmaLinux 9 安装 GitLab 社区版实战
第二篇:基于 AlmaLinux 9 配置 GitLab 社区版实战
第三篇:基于 AlmaLinux 9 备份 GitLab 社区版实战
第四篇:记一次跨 6 个大版本通宵升级 17 次 GitLab 社区版的经历
本文仍基于在腾讯云购买的轻量机 cn-tx-bj7-a9 上安装,AlmaLinux 9.4 版本,配置为 4C4G60G
上一篇文章记一次跨 6 个大版本通宵升级 17 次 GitLab 社区版的经历中介绍了一次公司内部使用的 GitLab 真实升级经历
结尾提及下一篇文章开始介绍 GitLab CI/CD 的相关实践,计划从部署GitLab Runner 说起
没错,这篇文章就从部署 GitLab Runner 讲起
什么是 GitLab Runner 呢?
GitLab Runner is the open source project that is used to run your CI/CD jobs and send the results back to GitLab
说白了,就是一个可以去执行各种自定义任务的东西,并且能集成到 GitLab 的 CI/CD 中
也就是说,要想把 CI/CD 搞起来,就得先安装 GitLab Runner,靠它去执行任务,跑 test、build 等
公司团队里分前端和后端项目,自己是后端开发,就拿后端举例子,我们用的语言是 Python
实测一台机子上安装一个 Runner 就可以了,因为它可以启动多个进程,跑多个任务
也因为有些特殊场景,比如构建需要从宿主机上拷贝文件,只在一台机子上安装 Runner 就配一台机子的环境就好了
万一哪天资源不够用了,到时候把 Runner 安装在新的机器上,再配好环境也就可以了
这里基于在腾讯云购买的轻量机 cn-tx-bj7-a9 上演示安装过程
同 GitLab 的安装,仍然选择进程的方式进行安装
参照官方文档:https://docs.gitlab.com/runner/install/linux-repository.html
[root@cn-tx-bj7-a9 ~]# wget https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh
[root@cn-tx-bj7-a9 ~]# sh script.rpm.sh
Detected operating system as almalinux/9.
Checking for curl...
Detected curl...
Downloading repository file: https://packages.gitlab.com/install/repositories/runner/gitlab-runner/config_file.repo?os=almalinux&dist=9&source=script
done.
Installing yum-utils...
runner_gitlab-runner-source 142 B/s | 862 B 00:06
runner_gitlab-runner-source 3.5 kB/s | 3.1 kB 00:00
Importing GPG key 0x51312F3F:
Userid : "GitLab B.V. (package repository signing key) <packages@gitlab.com>"
Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
From : https://packages.gitlab.com/runner/gitlab-runner/gpgkey
runner_gitlab-runner-source 2.2 kB/s | 3.1 kB 00:01
Importing GPG key 0x35DFA027:
Userid : "GitLab, Inc. <support@gitlab.com>"
Fingerprint: 09E5 7083 F34C CA94 D541 BC58 A674 BF81 35DF A027
From : https://packages.gitlab.com/runner/gitlab-runner/gpgkey/runner-gitlab-runner-4C80FB51394521E9.pub.gpg
runner_gitlab-runner-source 2.8 kB/s | 3.1 kB 00:01
Importing GPG key 0x6BA75A4E:
Userid : "GitLab, Inc. <support@gitlab.com>"
Fingerprint: 931D A69C FA3A FEBB C97D AA8C 6C57 C29C 6BA7 5A4E
From : https://packages.gitlab.com/runner/gitlab-runner/gpgkey/runner-gitlab-runner-49F16C5CC3A0F81F.pub.gpg
runner_gitlab-runner-source 28 B/s | 296 B 00:10
Last metadata expiration check: 0:00:03 ago on Fri 08 Nov 2024 12:01:07 AM CST.
Package yum-utils-4.3.0-13.el9.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Generating yum cache for runner_gitlab-runner...
Importing GPG key 0x51312F3F:
Userid : "GitLab B.V. (package repository signing key) <packages@gitlab.com>"
Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
From : https://packages.gitlab.com/runner/gitlab-runner/gpgkey
Importing GPG key 0x35DFA027:
Userid : "GitLab, Inc. <support@gitlab.com>"
Fingerprint: 09E5 7083 F34C CA94 D541 BC58 A674 BF81 35DF A027
From : https://packages.gitlab.com/runner/gitlab-runner/gpgkey/runner-gitlab-runner-4C80FB51394521E9.pub.gpg
Importing GPG key 0x6BA75A4E:
Userid : "GitLab, Inc. <support@gitlab.com>"
Fingerprint: 931D A69C FA3A FEBB C97D AA8C 6C57 C29C 6BA7 5A4E
From : https://packages.gitlab.com/runner/gitlab-runner/gpgkey/runner-gitlab-runner-49F16C5CC3A0F81F.pub.gpg
Generating yum cache for runner_gitlab-runner-source...
The repository is setup! You can now install packages.
[root@cn-tx-bj7-a9 ~]# dnf install gitlab-runner
安装完成后
就可以执行 gitlab-runner 命令查看相关用法了
比如查看当前状态的 gitlab-runner status
[root@cn-tx-bj7-a9 ~]# gitlab-runner status
Runtime platform arch=amd64 os=linux pid=3906867 revision=12030cf4 version=17.5.3
gitlab-runner: Service is running
因为可以在不同于 GitLab 安装的机子上部署 GitLab Runner,所以安装后需要配置接入哪个 GitLab
也就是注册的意思,可以参照官方文档的命令示例
参照官方文档:https://docs.gitlab.com/runner/register/index.html
推荐使用团队的 TOKEN,直接把 GitLab Runner 注册到团队里,而不是每个项目一个
这里贴一下团队内部在注册完成后的样子,执行 gitlab-runner list
可以看出我们的命名规范是【组名】-【IP】-【功能】-【序号】,实际上对应上文就是
注册完成后也可以用过 gitlab-runner verify 来验证和 GitLab 的连接然后是否正常
然后在 GitLab 的群组设置下,就能看到存活的 Runner 列表了
需要增大并发数,也就是配置 concurrent=4
[root@localhost ~]# cat /etc/gitlab-runner/config.toml
concurrent = 4
check_interval = 0
connection_max_age = "15m0s"
shutdown_timeout = 0
[session_server]
session_timeout = 1800
这样每一个 Runner 同时就能运行 4 个任务了
GitLab Runner 的使用其实也是一直都想拿出来说的,这篇文章简单介绍了下,完成了基本的部署
计划之后再来谈如何把 GitLab CI/CD 搞起来,比如 PEP8、docker build 和 SonarQube 扫描等等
也欢迎购买轻量机进行尝试,双十一拼团有优惠:https://cloud.tencent.com/act/pro/double11-2024?fromSource=gwzcw.8891816.8891816.8891816
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。