centos7.5安装gitlab-runner,配置CI/CD流水线

一般不建议gitlab-server和gitlab-runner装在同一台服务器

第一步:安装gitlab-runner,最好和gitlab实例版本一致

# 下载官方gitlab-runner安装脚本
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash# 安装gitlab-runner
sudo yum install gitlab-runner

第二步:创建runner实例
一般分为共享型runner和项目型runner
共享型的,任何项目都可使用它来执行流水线
项目型的,只有特定项目可以使用它来执行流水线
共享型的创建,在管理员的管理面板:
在这里插入图片描述
项目型的创建,在项目的设置-ci/cd 管理面板:
在这里插入图片描述

第三步:注册runner

sudo gitlab-runner register
# 交互式注册,填入生成的token等等...

在这里插入图片描述
gitlab-runner在运行时默认使用“gitlab-runner”用户,该用户没有root访问权限,所以对于运行脚本时,某些操作会没有权限,导致流水线失败,需要手动解决。

第四步:项目根目录加入gitlab-ci.yml配置文件


default:artifacts:paths:- dist # 打包产物相对路径(相对于当前项目)
# 定义步骤
stages:- build- test- deploy# 每个job运行前执行
before_script:  - echo "前"  - echo $(whoami) # gitlab-runner在运行时默认使用“gitlab-runner”用户,该用户没有root访问权限,所以对于运行脚本时,某些操作会没有权限,导致流水线失败,需要手动解决。- pwd # 每个runner执行时都有自己的工作目录,在gitlab-runner的home空间中 /home/gitlab-runner/builds/xxx- ls -al# 每个job运行后执行
after_script:  - echo "后" - ls -al# 打包阶段
build-job:stage: buildtags:- runner1 # 指定具体runner去执行script:- echo "Building the application"- npm install- npm run prodonly:- main# 测试阶段
test-job:stage: testtags:- runner1script:- echo "Testing the application" only:- main# 部署阶段
deploy-job:stage: deploytags:- runner1script:- echo "Deploying the application" - mv dist/* /usr/share/nginx/html # 移动文件到html文件夹(用到之前定义的打包产物相对路径)only:- main

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

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

相关文章

成为一名自由程序员

越来越多的程序员已经或希望加入到自由职业者的行列,你是否也是其中的一员呢?在这篇文章里我将尝试结合自身的一些经验,来告诉你成为自由程序员能够获得的那些益处,以及为了取得成功所需要面临的挑战。 自由程序员的类型 很多人把…

项目开发---用户登录发送短信实现(使用阿里云短信接口)(看这篇就够了)

目录: 使用阿里云开通短信服务教程编写代码 使用阿里云开通短信服务教程 阿里云官网👉https://cn.aliyun.com/ 完成登录 进入短信服务 开通短信服务 购买短信条数 购买完成进入阿里云短信控制台https://dysms.console.aliyun.com/overview 开通个…

Taskflow应用:波前并行(Wavefront Parallelism)

2D的Wavefront如下图所示&#xff1a; #include <taskflow/taskflow.hpp>std::mutex cout_mutex; void format_str(std::string const& str) {std::lock_guard<std::mutex> lock(cout_mutex); std::cout << str << std::endl; }std::string crea…

《自动机理论、语言和计算导论》阅读笔记:p68-p114

《自动机理论、语言和计算导论》学习第4天&#xff0c;p68-p114总结&#xff0c;总计47页。 一、技术总结 1.inverted indexes 明白单词的意思是“反转的索引”&#xff0c;但是不明白其在书中具体指什么&#xff0c;去查询资料的话需要花很不多时间&#xff0c;先继续往下看…

关于使用vscode搭建c/c++编程环境

目录 关于使用vscode搭建c/c编程环境一、前言二、安装 IDE 二、安装TDM-GCC安装三、安装C/C环境四、编写代码并进行编译 关于使用vscode搭建c/c编程环境 一、前言 一直觉得vscode是生产强有力的生产工具&#xff0c;基于此&#xff0c;做一篇学习笔记进行记录。 二、安装 ID…

服务器停止解析域名,但仍然可以访问到

1.centos7 如何刷新dns缓存 在CentOS 7上&#xff0c;DNS缓存由nscd&#xff08;Name Service Cache Daemon&#xff09;管理&#xff0c;如果系统上安装了nscd&#xff0c;可以通过清除nscd缓存来刷新DNS缓存。 要刷新DNS缓存&#xff0c;请执行以下命令&#xff1a; sudo …

IPD推行成功的核心要素(一)什么企业需要和适合IPD?

IPD&#xff0c;全称为“Integrated Project Delivery”&#xff0c;即集成产品开发。它是一种全新的项目管理方法&#xff0c;目前已经应用到了各行各业的项目管理中。IPD是一种以协同合作为核心的工作模式&#xff0c;在这种模式下&#xff0c;项目中的所有相关方在项目的整个…

如何使用免费的ChatGpt3.5

如何使用免费的ChatGpt 最近免费的gpt3.5很多都不怎么行了实在是太给力了尾声 最近免费的gpt3.5很多都不怎么行了 原因是什么呢&#xff1f;因为openai已经取消了免费的5刀赠送&#xff0c;那么这些人手上的免费的sses-key 用完后&#xff0c;就基本上全军覆没了&#xff0c;再…

校园招聘管理系统(源码+文档)

校园招聘管理系统&#xff08;小程序、ios、安卓都可部署&#xff09; 文件包含内容程序简要说明含有功能项目截图客户端热门岗位校园招聘首页个人简历添加个人简历我的界面注册界面查看个人简历界面个人资料界面登录界面消息界面退出登录 管理端登录界面![请添加图片描述](htt…

Python保留字与obspy安装

保留字&#xff1a; 被编程语言内部定义并保留使用的标识符。Python有33个保留字 andelifimportraiseglobalaselseinreturnnonlocalassertexceptistryTrue breakfinallylambdawhileFalseclassfornotwithNonecontinuefromoryielddefifpassdel 最近在安装obspy时经常&am…

预处理指令——那些你可能不知道的概念

前言&#xff1a;预处理是我们的c语言源代码成为可执行程序的第一个步骤。而宏和预处理指令都是在这个阶段完成。本节内容就是关于宏和预处理指令相关知识点的解析。 目录 宏 预定义符号 #define定义常量 #define定义符号 #define定义宏 带副作用的宏参数 宏的替换规则…

给虚拟机配置静态IP并使用FileZIlla在虚拟机和Windows之间传输文件(ssh和ftp两种方法)

一、配置操作系统网络 &#x1f338;下面的步骤主要是配置虚拟机的静态IP&#xff0c;方便后续用 FikeZilla 在windows和虚拟机之间传输文件&#xff08;否则用默认的ip分配方案为 DHCP ,每一次开机时的ip都是有可能不同的,这样就会导致每次远程连接都需要查看ip地址.&#xf…

mysql执行脚本导入表和数据后中文注释乱码解决

本人在使用不同版本下进行操作时&#xff0c;就会出现中文乱码的问题。例如我本地安装mysql8&#xff0c;服务器安装的是mysql5&#xff0c;然后本地连接服务器的mysql后&#xff0c;执行SQL脚本之后发现中文全部乱码 使用工具查看&#xff0c;注释也都是乱码 解决方案 本地…

C语言键盘输入与屏幕输出——数据的格式化键盘输入

目录 数据的格式化键盘输入 输入数据的格式控制 scanf&#xff08;&#xff09;的格式字符 scanf()的格式修饰符 数据的格式化键盘输入 格式 scanf&#xff08;格式控制字符串&#xff0c;输入地址表&#xff09;&#xff1b; 输入数据的格式控制 格式 scanf&#xff08;…

二. Git基础命令

二. Git基础命令 1. 获取 Git 仓库2. 记录每次更新到仓库2.1 检查当前文件状态2.2 跟踪新文件2.3 暂存已修改的文件2.4 忽略文件2.5 查看已暂存和未暂存的修改2.6 提交更新2.7 跳过使用暂存区域2.8 移除文件2.9 移动文件2.10 版本回退 4. 撤消操作4.1 取消暂存的文件4.2 撤消对…

【opencv】教程代码 —ShapeDescriptors

检测和显示图像的轮廓 在图像中搜索并显示轮廓边缘多边形、轮廓矩形和包围圆 获取包含检测到的轮廓的椭圆和旋转的矩形 图像轮廓检测和轮廓凸包 计算图像中的轮廓的矩&#xff08;包括面积、重心等&#xff09;并进行显示 创建和绘制一个多边形图像然后计算并显示图像上每个点到…

分类预测 | Matlab实现CNN-GRU-Mutilhead-Attention卷积神经网络-门控循环单元融合多头注意力机制多特征分类预测

分类预测 | Matlab实现CNN-GRU-Mutilhead-Attention卷积神经网络-门控循环单元融合多头注意力机制多特征分类预测 目录 分类预测 | Matlab实现CNN-GRU-Mutilhead-Attention卷积神经网络-门控循环单元融合多头注意力机制多特征分类预测分类效果基本介绍模型描述程序设计参考资料…

代码膨胀会破坏开发操作吗,它将如何影响编译时间?

Incredibuild 正潜心研究公司以及客户的未来发展趋势。 过去的一年举步维艰&#xff0c;但聪明的企业总是能够抓住机遇&#xff0c;将大部分业务自动化&#xff0c;保持敏捷度和竞争力&#xff0c;最佳的案例就是游戏工作室。这一年来&#xff0c;用户对新游戏或新版本的期待达…

困难样本挖掘:Hard Sample Mining

Hard Sample Mining Hard Sample Mining&#xff0c;即困难样本挖掘&#xff0c;是目标检测中的一种常用方法。其主要思想是针对训练过程中损失较高的样本&#xff08;即那些难以被正确分类的样本&#xff09;进行挖掘&#xff0c;并将其补充到数据集中重新训练&#xff0c;以…

【React】vite + react 项目,配置项目路径别名 @

vite react 项目&#xff0c;配置项目路径别名 1 安装 types/node2 在 vite.config.ts 中添加配置&#xff1a;3 配置路径别名的提示 使用 vite 开发 react 项目时&#xff0c;可以通过一下步骤配置路径别名&#xff1a; 1 安装 types/node npm i -D types/node2 在 vite.con…