1. 部署环境

本次部署环境完全断网。需要离线下载gitlab-runner及其依赖。
本次部署环境为中标麒麟7.4。目前机器上部署了gitlab,安装了maven。

2. 部署步骤

2.1 在外部下载好依赖

我首先在腾讯云上布置了一个centos7.9的虚拟机,没有安装任何东西。
之后在这上面安装yumdownloader,命令为:
yum install -y yum-utils
之后创建gitlabrunner文件夹(非必须),并下载依赖:
yumdownloader --resolve gitlab-runner
主要下载了这些包
在这里插入图片描述

同时,经过测试,gitlabrunner还依赖rsync,我的中标麒麟7.4上并没有,所以后续下载且只下载了rsync:
yumdownloader --resolve rsync
将上述软件包都放进中标麒麟7.4机器的文件夹下。我个人放在了/opt/gitlabrunner/下了。

2.2 安装gitlab-runner

------------个人猜想------------
如果上述依赖包完整,在/opt/gitlabrunner/下使用命令:

sudo rpm -ivh *.rpm

就能完成安装。

-------华丽的分割线---------
下面是我的安装步骤:

#第一步安装rsync
sudo rpm -ivh rsync-3.1.2-12.el7_9.x86_64.rpm
#第二步安装这俩,因为没有循环依赖问题
sudo rpm -ivh perl-TermReadKey-2.30-20.el7.x86_64.rpm 
sudo rpm -ivh perl-Error-0.17020-2.el7.noarch.rpm 
#第三步同时安装git和perl-git,因为这俩循环依赖
sudo rpm -ivh perl-Git-1.8.3.1-25.el7_9.noarch.rpm git-1.8.3.1-25.el7_9.x86_64.rpm
#第四步同时安装gitlab-runner和gitlab-runner-help
sudo rpm -ivh gitlab-runner-18.3.0-1.x86_64.rpm gitlab-runner-helper-images-18.3.0-1.noarch.rpm
#验证gitlab runner是否安装成功
sudo gitlab-runner register

3 gitlab-runner的配置、连接与使用

gitlab runner可以理解为一个执行你的项目下文件.gitlab-ci.yml的执行器的配置工具,你需要再gitlabrunner中通过配置过程生成一个执行器,将执行器与gitlab项目/个人/全局绑定在一起,通过在.gitlab-ci.yml中写的tag和gitlabrunner中配置时设置的tag相匹配,决定使用哪个执行器执行.gitlab-ci.yml的内容。
那么gitlab runner在配置的过程中就涉及一些选择了,一是执行器选择,二是标签设置,三是如何配置,四是如何与gitlab相连接。

3.1 如何进行配置

一个gitlab runner是可以进行多个执行器配置的。可以分别服务于不同的项目、人员、全局,具体权限的配置在gitlab里,不在gitlab runner这边。
首先去gitlab这边,我们按照在项目级配置一个runner,只给本项目使用要求配置一个runner实例。 进入Settings -> CI/CD -> Runners。点击“新建项目runner”。进入新建一个runner。
在这里插入图片描述
这些配置好之后点击“创建runner”

之后选择你安装gitlab runner的平台。比如你在linux服务器上,或者在某台机器的docker内安装。(一般直接装在服务器上就可以了。)
在这里插入图片描述
之后会给出提示,去gitlabrunner那里使用命令,url和token在gitlab这边也给出了,复制过去即可。
在这里插入图片描述
之后会要求设置名称,随便设置即可。
之后会要求你选择执行器,其实选择docker最好,这里为了方便,我直接用shell了。

总结一下你需要输入的内容

GitLab实例URL: (你的GitLab地址)

注册令牌:从你项目的 Settings -> CI/CD -> Runners 页面获取 Registration token。

Runner描述符:给你这个Runner起个名字,比如 shell-runner-for-maven。

Runner标签:可以给这个Runner打上标签,比如 shell, maven。标签可用于在CI/CD中指定某个Runner运行作业。

执行器:输入 shell。这告诉Runner直接在宿主机的Shell环境中执行作业命令。

之后回到gitlab页面,点击页面最下方的“查看运行器”,你就能够看到你的runner实例了。

3.2 执行器选择

执行器决定了这个runner实例接收的各种任务在哪里进行。直接使用shell是一个方便的选择,但是可能会产生垃圾文件。使用docker是最好的选择,每次都会清理。但是我还没有学会配置。

3.3 标签填写

gitlab runner这边的标签和名字与gitlab那边没有直接的关系。你在gitlab-ci.yml中写的tag与gitlab中配置的标签有关,与gitlabrunner中的无关。
在这里插入图片描述

出于方便以后辨识和维护,最好统一成一样的标签。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 IDEA 2024 创建 Vue 项目(保姆级)

目录 一、 前后端分离 1. 简介 2. 实现前后端分离的常用前端框架 3. 前后端分离和动静分离 3.1 前后端分离: 3.2 动静分离: 二、 Vue.js概述 1. 简介 2. SPA介绍 2.1 优点 2.2 缺点 3. MVVM介绍 3.1 示例 三、 名词解释 1. Node.js 2. npm 3. webpack 4. Vue…

Coze源码分析-资源库-创建知识库-后端源码-应用/领域/数据访问

3. 应用服务层 3.1 知识库应用服务 文件位置: backend/application/knowledge/knowledge.go func (k *KnowledgeApplicationService) CreateKnowledge(ctx context.Context, req *dataset.CreateDatasetRequest) (*dataset.CreateDatasetResponse, error) {// 1. 转换文档类型d…

Shopify指纹手机矩阵:无限扩店,横扫FB/GG广告封号风险

一、 为什么需要为Shopify使用指纹手机?虽然Shopify不会因为你多开店而封号,但以下场景需要隔离环境:规避广告平台关联:这是最核心的用途。你会用Facebook、Google、TikTok等广告平台为你的Shopify店铺引流。这些广告平台严格禁止…

【Python】家庭用电数据分析Prophet预测

数据集:Household Electricity Consumption | Kaggle 目录 数据集简介 探索性分析 Prophet预测 Prophet模型 Prophet理念 Prophet优点 数据集简介 240000-household-electricity-consumption-records数据集包含了一个家庭6个月的用电数据,收集于2…

信息系统运维管理

运行维护服务指的是采用信息技术手段及方法,依据客户提出的服务要求,为其在使用信息系统过程中提出的需求提供的综合服务是信息技术服务中的一种主要类型。运行维护服务对象是指信息系统工程建设项目交付的内容,包括机房基础设施,…

系统编程完结整理以及补充

Shell(命令与脚本语法) 系统编程(一)shell的学习-CSDN博客 功能/概念语法/关键字参数/用法说明返回值/效果难易点注意事项示例/实验提示定义函数func_name() { commands; }无参数或通过 $1 $2 ... 传参函数执行参数传递、全局变…

第十四届蓝桥杯青少组C++选拔赛[2022.12.18]第二部分编程题(2、字符翻转)

参考程序&#xff1a;#include <bits/stdc.h> using namespace std;int main() {string s;cin >> s; // 读取输入字符串&#xff0c;若无输入则结束for (int i 0; i < (int)s.size(); i) {// i 从 0 开始&#xff0c;位置是 i1&#xff1b;如果 i 是奇数&#…

Django基础环境入门

熟悉过程 搭建环境&#xff0c;运行起来基础请求到服务接口跟java web对比 说明先不纠结细节先跑起来再说 1. 环境搭建 python已经安装&#xff0c;使用conda管理 django安装 django官方文档 pip install django也可以命令创建 mkdir djangotutorial django-admin startp…

408学习之c语言(结构体)

今天给大家分享C语言中结构体的几种常见使用方法&#xff0c;包括基础结构体定义与初始化&#xff0c;结构体指针的两种访问方式&#xff0c;结构体数组的遍历&#xff0c;动态内存分配与结构体使用&#xff0c;typedef简化结构体类型基础结构体定义与使用#define _CRT_SECURE_…

Navicat中设计表格默认值时,如何不设置成NULL,而是设置成空文本?

在 Navicat 中设计表时&#xff0c;将字段的默认值设置为空文本而不是 NULL 是一个非常常见的需求。操作很简单&#xff0c;但有几个细节需要注意。■ 方法一&#xff1a;通过“设计表”界面设置&#xff08;最常用&#xff09;1. 连接数据库并找到表&#xff1a;在左侧连接导…

深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十三章知识点问答(15题)

预告下一本 可能是mysql8的书籍 或者是AI应用工程的基本岗位所有技能 问题1 什么是 线程安全&#xff1f;在 Java 中如何定义“线程安全”&#xff1f;线程安全&#xff08;Thread Safety&#xff09; 的定义是&#xff1a; 当多个线程同时访问某个类的对象时&#xff0c;无论运…

【医疗 AI】Baichuan-M2:大语言模型在医疗领域的动态验证框架

Baichuan-M2 医疗大模型&#xff1a;技术解读与使用方法 Baichuan-M2&#xff1a;大语言模型在医疗领域的动态验证框架 【医疗 AI】Baichuan-M2&#xff1a;大语言模型在医疗领域的动态验证框架0. Baichuan-M2 模型简介0.1 基本信息0.2 主要贡献0.3 论文摘要1. 引言2. 验证系统…

Ubuntu\Linux环境中驱动版本配置cudaToolKit

修改环境变量。 1. 首先检查当前的环境变量 # 查看当前PATH echo $PATH# 查看当前LD_LIBRARY_PATH echo $LD_LIBRARY_PATH# 查看当前CUDA_HOME echo $CUDA_HOME2. 确定正确的CUDA安装路径 # 查看系统中有哪些CUDA版本 ls /usr/local/cuda*3. 修改环境变量(永久生效) 编辑…

Linux基础开发工具(gcc/g++,yum,vim,make/makefile)

目录 软件包管理器——yum Linux下&#xff0c;软件的安装 yum与软件包的关系 yum命令的运用 1.查看软件包 2.安装/删除软件包 编辑器——vim vim的基本概念 vim的基本操作 命令模式命令 移动光标 删除文字 撤销上一次操作 跳至指定的行 底行模式命令 编译器——…

数据结构之跳表

跳表&#xff08;Skip List&#xff09;是一种基于概率平衡的数据结构&#xff0c;通过多层有序链表实现高效的查找、插入和删除操作。它在最坏情况下时间复杂度为 (O(n))&#xff0c;但通过随机化设计&#xff0c;平均时间复杂度可优化至 (O(\log n))&#xff0c;与平衡二叉搜…

线程概念,控制

一、线程概念 线程概念&#xff1a;进程内部的一个执行流&#xff0c;轻量化。 观点&#xff1a;进程是系统分配资源的基本单位&#xff0c;线程是CPU调度的基本单位。 在理解线程之前&#xff0c;我们在谈一下虚拟地址空间。 我们都知道进程是通过页表将虚拟地址转化为物理地址…

RabbitMQ 高可用实战篇(Mirrored Queue + Cluster + 持久化整合)

RabbitMQ 高可用实战篇&#xff08;Mirrored Queue Cluster 持久化整合&#xff09;1. 前言 在生产环境中&#xff0c;单节点 RabbitMQ 容易因故障导致消息丢失或业务中断。 通过高可用队列、集群部署和持久化策略&#xff0c;可以保证 消息可靠性、节点容错和持续服务。 本文…

支持向量机:从理论到实践

支持向量机&#xff1a;从理论到实践 文章目录支持向量机&#xff1a;从理论到实践一。理论概述1. 线性可分支持向量机1.1 基本概念与数学形式1.2 函数间隔与几何间隔1.3 间隔最大化与优化问题1.4 拉格朗日对偶理论与求解1.5 支持向量与决策函数2. 近似线性可分数据&#xff08…

LVS与Keepalived详解(二)LVS负载均衡实现实操

文章目录前言一、LVS-DR 模式详解1.1 数据包流向分析1.2 DR 模式的特点二、LVS-DR 集群部署实战2.1 环境准备2.2 配置负载调度器&#xff08;Director Server&#xff09;2.3 配置节点服务器&#xff08;Real Server&#xff09;2.4 测试验证三、前期回顾3.1 LVS 三种工作模式及…

归一化实现原理

归一化&#xff08;Normalization&#xff09;是一种将数据转换到相同尺度的预处理技术&#xff0c;它通常用于让不同特征&#xff08;或数据项&#xff09;具有相同的量纲或范围。在联邦学习中&#xff0c;归一化可以用来处理非独立同分布&#xff08;Non-IID&#xff09;**数…