GitLabRunner安装部署

news2024/11/23 8:28:10

实战:GitLabRunner安装部署-2023.4.26(安装成功)

image-20230426063250435

目录

image-20230518111137084

实验环境

gitlab/gitlab-ce:15.0.3-ce.0
gitlab-runner-15.0.1-1.x86_64.rpm

实验软件

链接:https://pan.baidu.com/s/10aL_kWzDKnZXBXG3-hS2tA
提取码:0820
2023.4.26-实战:GitLabRunner安装部署-(安装成功)

image-20230426072018932

什么是Gitlab runner

image-20230426063416914

  • GitLab Runner是一个开源项目,用于运行作业并将结果发送回GitLab。
  • 与GitLabCI结合使用,GitLabCI是GitLab随附的用于协调作业的开源持续集成服务。
  • GitLab Runner是用Go编写的,可以在Linux,macOS和Windows操作系统上运行。
  • 容器部署需使用最新Docker版本。GitLab Runner需要最少的Docker v1.13.0
  • GitLab Runner版本应与GitLab版本同步。(避免版本不一致导致差异化)
  • 可以根据需要配置任意数量的Runner。

image-20220505104412269

注意:建议将runner和gitlab server放在不同机器上运行,否则可能不能正常运行,并且也会给servre带来性能上的影响。

本次是实验环境,是可以使用同的一台机器!(gitlab是容器方式,而gitlab Runner是直接跑在宿主机上的,类似于jenkins master是以容器方式运行,而agent是直接跑在宿主机上的)!

类型

  • shared 共享类型,运行整个平台项目的作业**(gitlab)**
  • group 项目组类型,运行特定group下的所有项目的作业**(group)**
  • specific项目类型,运行指定的项目作业**(project)**

后面我们都是在平台类型上注册runner的:(注册时需要带上token)

image-20220505110229006

平台级别的runner:

image-20230425214907901

组级别的runner:

image-20230425215000146

项目,这里也是可以看到3种runner类型的。

image-20230425215117386

状态

  • locked: 锁定状态,无法运行项目作业
  • paused: 暂停状态,暂时不会接受新的作业

步骤

  • 安装gitlab-runner工具
  • 使用gitlab-runner工具向GitLab Server注册Runner节点。

1、Runner安装

在Linux系统安装GR

  • 基于Linux CentOS8操作系统, 部署GitLabRunner。

GitLab部署包下载:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/

Runner部署包下载:https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el8-x86_64/

自己本次测试:

1、下载gitlab-runner安装包

查看自己gitlab版本,下载和当前gitlab差不多一致的gitlab-runner安装包

image-20230426064144269

image-20230426064107032

Runner部署包下载:

https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7-x86_64/

[root@Devops6 ~]#wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7/gitlab-runner-15.0.1-1.x86_64.rpm --no-check-certificate
--2023-04-26 06:42:18--  https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7/gitlab-runner-15.0.1-1.x86_64.rpm
Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.15.130, 2402:f000:1:400::2
Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.15.130|:443... connected.
WARNING: cannot verify mirrors.tuna.tsinghua.edu.cn's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
  Issued certificate has expired.
HTTP request sent, awaiting response... 200 OK
Length: 434734559 (415M) [application/x-redhat-package-manager]
Saving to: ‘gitlab-runner-15.0.1-1.x86_64.rpm’

100%[================================================================================================================================================================>] 434,734,559 14.3MB/s   in 33s    

2023-04-26 06:42:52 (12.4 MB/s) - ‘gitlab-runner-15.0.1-1.x86_64.rpm’ saved [434734559/434734559]
[root@Devops6 ~]#ll -h gitlab-runner-15.0.1-1.x86_64.rpm 
-rw-r--r-- 1 root root 415M Jul 21  2022 gitlab-runner-15.0.1-1.x86_64.rpm

2、安装gitlab-runner rpm包

## 安装runner
[root@Devops6 ~]#rpm -ivh gitlab-runner-15.0.1-1.x86_64.rpm 
warning: gitlab-runner-15.0.1-1.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 35dfa027: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:gitlab-runner-15.0.1-1           ################################# [100%]
GitLab Runner: creating gitlab-runner...
Home directory skeleton not used
Runtime platform                                    arch=amd64 os=linux pid=51841 revision=7674edc7 version=15.0.1
gitlab-runner: the service is not installed
Runtime platform                                    arch=amd64 os=linux pid=51848 revision=7674edc7 version=15.0.1
gitlab-ci-multi-runner: the service is not installed
Runtime platform                                    arch=amd64 os=linux pid=51872 revision=7674edc7 version=15.0.1
Runtime platform                                    arch=amd64 os=linux pid=51908 revision=7674edc7 version=15.0.1

Check and remove all unused containers (both dangling and unreferenced) including volumes.
------------------------------------------------------------------------------------------
Total reclaimed space: 0B

3、验证

## 查看进程
[root@Devops6 ~]#ps aux|grep gitlab-runner
root      51916  1.1  0.1 748072 18532 ?        Ssl  06:44   0:00 /usr/bin/gitlab-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --user gitlab-runner
root      51995  0.0  0.0 112708   980 pts/0    S+   06:44   0:00 grep --color=auto gitlab-runner


#查看版本
[root@Devops6 ~]#gitlab-runner -v
Version:      15.0.1
Git revision: 7674edc7
Git branch:   15-0-stable
GO version:   go1.17.7
Built:        2022-07-20T15:13:22+0000
OS/Arch:      linux/amd64

2、注册Runner

1、获取GitLab地址和Runner 注册token

  • 本次注册平台级别runner:

点击Menu/Admin/Runners

image-20220505105632269

image-20220505105641693

保存下上面这个token:

osNyPCDx47f52iD4Hh5F

2、运行注册命令

  • 开始交互式注册
[root@Devops6 ~]#gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=53427 revision=7674edc7 version=15.0.1
Running in system-mode.

Enter the GitLab instance URL (for example, https://gitlab.com/):
http://172.29.9.101:8076/
Enter the registration token:
osNyPCDx47f52iD4Hh5F
Enter a description for the runner:
[Devops6]: build01
Enter tags for the runner (comma-separated):
build,go,maven
Enter optional maintenance note for the runner:

Registering runner... succeeded                     runner=osNyPCDx
Enter an executor: parallels, shell, docker+machine, docker-ssh+machine, kubernetes, custom, docker, docker-ssh, ssh, virtualbox:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 

image-20230426065725839

说明:默认注册采用的交互式,需要交互填写信息。

[root@zeyang-nuc-service gitlab-runner]# gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=40969 revision=f188edd7 version=14.9.1
Running in system-mode.
## 输入GitLab实例的URL
Enter the GitLab instance URL (for example, https://gitlab.com/):
http://192.168.1.200

## 输入Runner注册Token
Enter the registration token:
m5ucdGk2_uPJ2K9BP8-d

## 填写该注册Runner的描述信息
Enter a description for the runner:
[zeyang-nuc-service]: build runner

## 为该Runner配置一个标签(后续作业可以通过tag指定在哪个runner上面运行构建)
Enter tags for the runner (comma-separated):
build,go,maven
Enter optional maintenance note for the runner:

Registering runner... succeeded                     runner=m5ucdGk2
## 为Runner选择一个执行器
Enter an executor: docker, parallels, ssh, docker+machine, docker-ssh+machine, custom, docker-ssh, shell, virtualbox, kubernetes:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
  • 本地查看runner信息
[root@Devops6 ~]#gitlab-runner list
Runtime platform                                    arch=amd64 os=linux pid=53774 revision=7674edc7 version=15.0.1
Listing configured runners                          ConfigFile=/etc/gitlab-runner/config.toml
build01                                             Executor=shell Token=PzMYek9JphRmM5Fo5qKo URL=http://172.29.9.101:8076/
[root@Devops6 ~]#gitlab-runner verify
Runtime platform                                    arch=amd64 os=linux pid=53789 revision=7674edc7 version=15.0.1
Running in system-mode.

Verifying runner... is alive                        runner=PzMYek9J

image-20230426065933483

  • 当然也可以使用非交互模式来注册:
gitlab-runner register \
  --non-interactive \
  --url "http://192.168.1.200/" \
  --registration-token "m5ucdGk2_uPJ2K9BP8-d" \
  --executor "shell" \
  --description "buildrunner" \
  --tag-list "build,k8s,go" \
  --run-untagged="true" \
  --locked="false" \
  --access-level="not_protected"

3、刷新GitLab管理页面

image-20230426065933483

3、配置Runner

  • 通过Gitlab后台可以看下runner的配置:

image-20230426070209955

image-20230426070221000

  • gitlab-runner配置文件 (改完配置文件,它会自动生效的。)
[root@Devops6 ~]#cat /etc/gitlab-runner/config.toml 
concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "build01"
  url = "http://172.29.9.101:8076/"
  token = "PzMYek9JphRmM5Fo5qKo"
  executor = "shell"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]

说明:

concurrent = 1    						## 可并行运行作业的数量, 0表示不限制;
check_interval = 0						## 检查新作业的时间间隔, 0表示默认 3秒;

[session_server]							## 允许用户与作业进行交互,例如web终端;
  session_timeout = 1800

[[runners]]
  name = "my first runner"            ## Runner名称;
  url = "http://192.168.1.200/"				## GitLab Server地址;
  token = "z6QEqyGpDrvzNgfxLiVh"			## Runner token;
  executor = "shell"									## Runner的执行器;
  [runners.custom_build_dir]					## 允许用户为作业定义自定义构建目录;
  [runners.cache]											## 分布式缓存目录;
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]

高级配置参考: https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnerscustom-section

4、Runner常用命令

  • gitlab Runner常用命令
gitlab-runner register  #默认交互模式下使用,非交互模式添加 --non-interactive
gitlab-runner list      #此命令列出了保存在配置文件中的所有运行程序
gitlab-runner verify    #此命令检查注册的runner是否可以连接,但不验证GitLab服务是否正在使用runner。 --delete 删除
gitlab-runner unregister   #该命令使用GitLab取消已注册的runner。

#使用令牌注销
gitlab-runner unregister --url http://gitlab.example.com/ --token t0k3n

#使用名称注销(同名删除第一个)
gitlab-runner unregister --name test-runner

#注销所有
gitlab-runner unregister --all-runners

FAQ

升级完git版本后,gitlabrunner会被删除的

  • 升级完git后,gitlab-runner没掉了,再次安装gitlab-runner时报错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cfmdIB2l-1684397768919)(https://bucket-hg.oss-cn-shanghai.aliyuncs.com/img/image-20230510075035521.png)]

  • 那就使用yum来安装依赖包,就可以解决问题了
[root@Devops6 ~]#yum install -y gitlab-runner-15.0.1-1.x86_64.rpm

image-20230510075300644

image-20230510075319476

centos8安装时报错

自己是在centos7上测试的,这里先做记录。

  • 报错现象

image-20230426071902663

  • 解决办法

image-20230426071917534

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码
x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号
《云原生架构师实战》

image-20230107215126971

🍀 语雀

https://www.yuque.com/xyy-onlyone

image-20230306221144511

🍀 csdn
https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎
https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/540674.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTTP第16讲——HTTP的重定向和跳转

背景 “超文本”里含有“超链接”,可以从一个“超文本”跳跃到另一个“超文本”,对线性结构的传统文档是一个根本性的变革。 能够使用“超链接”在网络上任意地跳转也是万维网的一个关键特性。它把分散在世界各地的文档连接在一起,形成了复杂…

058:cesium设置图片纹理材质

第058个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置图片材质,相当于在球体上贴图。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共85行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设…

如何批量旋转图片方向,包教会方法分享

如何批量旋转图片方向,这个怎么搞呢?小编曾经遇到一个问题,就是我将手机上的照片上传到电脑后发现所有的图片都是倒立的,这让查看变得非常不方便。尽管小编已经尝试过打开每张图片并逐个旋转后再另存为,但这种方式十分…

qiankun + Vite + React + Vue + Angular 快速构建前端微服务

文章目录 一、主应用 vite二、微应用 react三、微应用 vue四、微应用 angular五、项目地址 一、主应用 vite npm npm create vitelatestyarn yarn create vite选择是否继续 Need to install the following packages:create-vite3.2.1 Ok to proceed? (y) y项目名称 Project…

HIVE建表详细教程

1. 注意事项如下 1.1 分区字段 可以有多个分区字段,一般以时间维度来建立分区,也可以再加其他字段。以业务场景为提前条件,来设定分区的字段。 从业务角度理解,分区字段可理解为业务数据的一部分,作为业务查询…

Bed Bath and Beyond EDI 需求分析

Bed Bath and Beyond(Bed Bath and Beyond)是一家美国的家居用品零售商,成立于1971年,总部位于新泽西州Union。该公司在美国、加拿大和墨西哥拥有超过1500家门店。其产品涵盖了床上用品、浴室用品、厨房用品、家居装饰等领域&…

Win11怎么添加用户?我们都知道系统一般默认是administraor用户

Win11怎么添加用户?我们都知道系统一般默认是administraor用户,但如果你还想添加新用户的话,那么可以参考以下操作哦,步骤简单,安全有效,我们一起来学习下吧。 具体操作如下: 1、首先&#xff0…

NXP MCUXPresso - cc1plus.exe: out of memory allocating 65536 bytes

文章目录 NXP MCUXPresso - cc1plus.exe: out of memory allocating 65536 bytes概述实验结论补充END NXP MCUXPresso - cc1plus.exe: out of memory allocating 65536 bytes 概述 在尝试迁移 openpnp - Smoothieware project 从gcc命令行 MRI调试方式 到NXP MCUXpresso工程…

iscsi删除已失效的链路

有套rac环境,主机连接存储使用的iscsi方式,使用了一段时间,客户感觉网络设计不合理,需要调整网段vlan和ip地址 首先关闭实例和集群,调整存储端和主机端的ip地址和vlan,调整后可以ping通,使用如…

隐藏自己的真实ip

本文转载于: https://blog.csdn.net/csdnmmd/article/details/126952312 1.ip查看 https://mp.weixin.qq.com/s/zs2clrxQts9f7pK6CQ2oOw 1.1 无隧道的情况 当前从138和请求ipinof.io上可以查到目前我的ip地址为真实的ip: 访问下面这个地址之后&#xff…

SVG矢量图怎么做?

SVG 矢量图是一种可缩放的图像格式,基于 XML 的标记语言。它可以用于描述二维矢量图形,并且具有数百种功能,能够帮助你创建出色的网站。SVG矢量图怎么做?在本教程中,我们将学习如何使用SVG矢量图编辑器——即时设计制作…

一种基于非均匀分簇和建立簇间路由的算法的无线传感器网络路由协议(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 本文准备了一种路由方法,该方法使传感器通过有效地使用能量将数据从发送方加载到接收器,因为它在 LEAC…

安装Ubuntu18.04双系统、干净卸载,并在Ubuntu系统中安装CARLA模拟器

Ubuntu系统安装 Ubuntu系统安装参照流程 Ubuntu 双系统安装流程_ubuntu双系统_地球被支点撬走啦的博客-CSDN博客 Ubuntu系统卸载 1.将开机启动项设置默认为Windows,进入BIOS设置界面调整BootDevice中Windows和Ubuntu的顺序,将Windows调整在Ubuntu前边…

封神之作!超火Java面试突击手册一周内转发2.4W次,最终被所有大厂封杀

前言 本文是为了帮大家快速回顾了Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果。 本来想将文件上传到github上,但由于文件太大有的都无法显示…

OpenPCDet系列 | 5.4.1 DenseHead中的AnchorGenerator锚框生成模块

文章目录 AnchorGenerator模块AnchorGenerator.generate_anchors函数 AnchorGenerator模块 首先,根据点云场景将其划分为一个个grid,这个grid size是可以通过配置文件设定的点云场景方位和voxel大小计算出来的。 POINT_CLOUD_RANGE: [0, -39.68, -3, 6…

研发工程师玩转Kubernetes——部署应用

Kubernetes是容器的管理编排工具,而容器则是程序的载体。我们先在Docker上部署应用,然后再在kubernetes上部署,并对它们进行对比学习。 Docker部署应用 查看运行中的容器 docker ps可以看到下面的表头,此时没有一个运行中的容器…

图片压缩指定大小,让您的图片高效而优美

在现代社会中,图片是我们不可或缺的一部分,在各行业中都有着非常重要的作用。但是,大尺寸的图片不仅会占用过多的存储空间,还会导致网页或应用程序的加载速度变慢。因此,将图片压缩到指定大小是一个必要的步骤。 图片…

文档管理-gitlab+markdown网页插件

特点 使用git进行版本管理,本地编辑使用Typora。使用gitlab进行权限管理可以在线阅读通过Markdown在线阅读插件实现,可显示目录显示与链接跳转,界面优于自带的wiki。 与其他方式对比 gitlab的wiki:显示界面效果不好&#xff0c…

书籍《脆弱的繁华》读后感

前几周看完了《脆弱的繁华》这本书,这本书当时是公司组织的一次活动,邀请书籍原作者,张程对书籍进行了讲解,同时这本书也是在此次活动中免费赠送的,作者对于书籍做了一些说明,并且对一些问题也进行了探讨&a…

Azkaban 集群模式部署

文章目录 Azkaban 集群模式部署一、配置Mysql Azkaban 集群模式部署 将这三个包,上传到hadoop102,第一个是azkaban需要的建表语句 这三个解压到 /opt 目录下 输入命令:tar -zxvf azkaban-db-3.84.4.tar.gz -C /opt/ 输入命令:ta…