Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于 AlmaLinux 9 部署 GitLab Runner 实战

基于 AlmaLinux 9 部署 GitLab Runner 实战

原创
作者头像
远哥制造
修改于 2024-11-07 16:28:04
修改于 2024-11-07 16:28:04
1730
举报
文章被收录于专栏:远哥制造远哥制造

0x00. 前言

本文是一个系列,本篇为系列文章的第五篇:基于 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 讲起

0x01. 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 等

0x02. 安装计划

公司团队里分前端和后端项目,自己是后端开发,就拿后端举例子,我们用的语言是 Python

  • 跑测试:代码 Lint 用的是 PEP8
  • 跑构建:生成镜像用的是 docker build
  • 跑质检:查看代码质量报告用的是 SonarQube

实测一台机子上安装一个 Runner 就可以了,因为它可以启动多个进程,跑多个任务

也因为有些特殊场景,比如构建需要从宿主机上拷贝文件,只在一台机子上安装 Runner 就配一台机子的环境就好了

万一哪天资源不够用了,到时候把 Runner 安装在新的机器上,再配好环境也就可以了

0x03. 安装 Runner

这里基于在腾讯云购买的轻量机 cn-tx-bj7-a9 上演示安装过程

同 GitLab 的安装,仍然选择进程的方式进行安装

参照官方文档:https://docs.gitlab.com/runner/install/linux-repository.html

1. 配置源

代码语言:txt
AI代码解释
复制
[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.

2. 执行安装

代码语言:txt
AI代码解释
复制
[root@cn-tx-bj7-a9 ~]# dnf install gitlab-runner

安装完成后

就可以执行 gitlab-runner 命令查看相关用法了

比如查看当前状态的 gitlab-runner status

代码语言:txt
AI代码解释
复制
[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

0x04. 注册 Runner

因为可以在不同于 GitLab 安装的机子上部署 GitLab Runner,所以安装后需要配置接入哪个 GitLab

也就是注册的意思,可以参照官方文档的命令示例

参照官方文档:https://docs.gitlab.com/runner/register/index.html

推荐使用团队的 TOKEN,直接把 GitLab Runner 注册到团队里,而不是每个项目一个

这里贴一下团队内部在注册完成后的样子,执行 gitlab-runner list

可以看出我们的命名规范是【组名】-【IP】-【功能】-【序号】,实际上对应上文就是

  • python3.6 是跑测试 PEP8
  • build 是跑构建 docker build

注册完成后也可以用过 gitlab-runner verify 来验证和 GitLab 的连接然后是否正常

然后在 GitLab 的群组设置下,就能看到存活的 Runner 列表了

0x05. 修改 Runner 配置文件

需要增大并发数,也就是配置 concurrent=4

代码语言:txt
AI代码解释
复制
[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 个任务了

0x06.后记

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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于 AlmaLinux 9 安装 GitLab 社区版实战
本文是一个系列,本篇为系列文章的第一篇:基于 AlmaLinux 9 安装 GitLab 社区版实战
远哥制造
2024/11/02
2510
基于 AlmaLinux 9 安装 GitLab 社区版实战
如何在 Alma Linux 8 上安装 GitLab?
GitLab 是一款免费的开源 DevOps 软件,它附带多种工具,可在单个应用程序中开发、保护和操作软件。它提供免费的无限存储库和无限的协作者。它主要用于托管 Git 存储库,并具有其他与开发相关的功能,例如问题跟踪。它与 Github 和 Bitbucket 非常相似,允许个人和团队与他人远程共享代码。
网络技术联盟站
2022/04/07
1.5K0
如何在 Alma Linux 8 上安装 GitLab?
Install GitLab
Tip: CE 与 EE 有什么差异可以参考 Community Edition or Enterprise Edition, 总体来讲就是 EE 包含了 CE 的特性,CE 是 MIT 的授权,EE 在 CE 的基础上额外特性部分加入了私有协议
franket
2021/08/10
3.1K0
基于GitLab的CI执行
在之前编写过CI与Gitlab的整合应用,下来主要详细的介绍使用Gitlab工具的CI的可持续应用。搭建好Gitlab的环境好后,我们需要在Linux的环境安装Gitlab的插件gitlab-ci,安装命令为:
无涯WuYa
2022/01/18
5820
基于GitLab的CI执行
持续构建与部署之Gitlab-Runner
服务架构的轻量化一直都是很多架构师的追随目标,慢慢的演变成现在的微服务的使用,轻量简洁的服务架构不仅仅减少技术人员的维护压力,还大大的降低了技术人员的学习成本。
公众号: 云原生生态圈
2021/11/15
7260
持续构建与部署之Gitlab-Runner
基于 AlmaLinux 9 备份 GitLab 社区版实战
本文是一个系列,本篇为系列文章的第三篇:基于 AlmaLinux 9 备份 GitLab 社区版实战
远哥制造
2024/11/07
1902
基于 AlmaLinux 9 备份 GitLab 社区版实战
Gitlab Runner安装注册
注册中需要 gitlab的URL 以及 token,在gitlab UI界面就能找到,进入项目,依次点击就能找到。
夹胡碰
2020/10/29
8300
Gitlab Runner安装注册
I-team博客的gitlab-runner持续集成实践
做为一个略微看过nodejs语法,但又不懂nodejs的攻城狮,搭建hexo环境很是麻烦,要考虑到翻墙、版本兼容等问题。于是乎,博主每换一个电脑,为了能继续发博客,都需要在新电脑上花一天时间重新搞一下 hexo 环境,楼主感觉还是有简洁的方案来实现我一提交代码就可以自动发布博客,不需要再手动操作一波,这样岂不美哉。so,也就有了今天的经历,代码可以持续集成,博客也可以。楼主的解决方案是使用gitlab与gitlab-runner实现博客部署的持续集成,效果真的不要太好。
haifeiWu
2018/09/11
1.1K0
I-team博客的gitlab-runner持续集成实践
安装 GitLab CE
DevOps 理念落实得最为彻底的一类案例就是 CI/CD(持续集成/持续交付) 系统
franket
2021/08/12
3.7K0
基于 AlmaLinux 9 配置 GitLab 社区版实战
本文是一个系列,本篇为系列文章的第二篇:基于 AlmaLinux 9 配置 GitLab 社区版实战
远哥制造
2024/11/05
3150
基于 AlmaLinux 9 配置 GitLab 社区版实战
使用 GitLab Runner
理解了上面的基本概念之后,有没有觉得少了些什么东西 —— 由谁来执行这些构建任务呢? 答案就是 GitLab Runner 了!
用户8851537
2021/08/04
2.9K0
搭建Gitlab
###3、gitlab的使用 在浏览器中输入 http://192.168.60.119/ ,然后 change password: ,并使用root用户登录 即可 (后续动作根据提示操作)
Cyylog
2020/08/19
9630
『中级篇』docker之CI/CD持续集成—GitLab CI服务器(71)
PS:整个这个功能是否给你一个很大的想象空间,任何的软件的项目,可以通过ci-Pipelines方式,来定义自己的Pipelines,在测试,部署。很大很的发挥空间。都可以通过自定yml文件来实现。
IT架构圈
2019/07/08
8580
1.基于GitLab代码仓库的持续集成基础配置和使用
[TOC] 0x00 前言简述 CI/CD介绍 Q:我们常说的CI/CD是什么? CI 为 Continuous Integration 的缩写持续集成,可以理解为代码变动提交后,自动执行代码编译、代
全栈工程师修炼指南
2022/09/29
3.8K0
1.基于GitLab代码仓库的持续集成基础配置和使用
Linux运维架构师-企业应用持续集成CICD-08
六、Gitlab Server 部署 1、环境准备 1.系统版本:CentOS7.4 2.Gitlab版本:gitlab-ee 11.0.1 3.初始化系统环境 4.关闭防火墙 [root@localhost ~]# systemctl stop iptables firewalld [root@localhost ~]# systemctl disable iptables firewalld 5.开启邮件服务 [root@vm1 ~]# systemctl start postfix [root@v
用户8639654
2021/07/07
3810
gitlab-runner跑起来!
1. gitlab-runner开源,使用go编写,可以作为单个二进制文件运行,没有特定语言要求。
希里安
2023/10/30
4170
gitlab-runner跑起来!
『中级篇』docker之CI/CD持续集成—GitLab CI服务器(71)
PS:整个这个功能是否给你一个很大的想象空间,任何的软件的项目,可以通过ci-Pipelines方式,来定义自己的Pipelines,在测试,部署。很大很的发挥空间。都可以通过自定yml文件来实现。
IT架构圈
2018/09/23
7050
Gitlab安装使用及汉化配置
一、GitLab简介 GitHub是2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到GitHub上面,而且将项目设为私有还要收费。GitLab 是一个用于
shaonbean
2018/01/02
6.5K0
源码编译 GitLab Runner
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)
soulteary
2019/09/28
1.6K0
Gitlab CI 搭建持续集成环境实现Docker自动化部署使用Harbor镜像仓库
本文简单介绍了持续集成的概念并着重介绍了如何基于 Gitlab CI 快速构建持续集成环境以及使用Docker实现自动化部署,主要介绍了 Gitlab CI 的基本功能和入门操作流程
小东啊
2019/06/26
4.2K0
Gitlab CI 搭建持续集成环境实现Docker自动化部署使用Harbor镜像仓库
相关推荐
基于 AlmaLinux 9 安装 GitLab 社区版实战
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档