【Gitlab】CICD流水线自动化部署教程

第一步,准备 GitLab 仓库

这个不用多说,得先保证你的项目已经托管在一个 GitLab 仓库中。


第二步,定义 `.gitlab-ci.yml` 文件

在你的项目根目录中创建一个 `.gitlab-ci.yml` 文件。这个文件将定义所有 CI/CD 的工作流程,包括构建、测试和部署等步骤

例:


第三步,编写构建脚本

这一步的内容根据自己实际需求来写,可以参考以下配置

variables:NODE_OPTIONS: "--max-old-space-size=4096"  #这个地方为什么写这个,是因为我部署的服务器分配的内存太少了而报错,所以这里根据你们实际需要
# 定义流水线阶段
stages:- build# 配置缓存节点模块提升性能
cache:paths:- node_modules/# 构建作业
build_job:stage: buildimage: node:latestscript:- echo "Starting build process" # 断点: 开始构建过程- npm install- npm run build-only # 请根据你的情况视情况更改为正确的构建命令,就是你本地里面的打包命令- echo "Starting deployment"- echo "Current working directory is:"- pwd- cp -r dist/* /var/www/chatcs/  # 根据你自己的目录,这是要存放到的目录artifacts: # 存档构建结果,用于后续步骤paths:- dist/only:- main # 只有 main分支的提交会触发构建-根据你的需要tags:- chatcs # 假设标签是 chatcs ,这个也要根据你的需要

第四步,在你要部署的服务器上,安装GitLab Runner

特别提醒一句,以下的配置均在服务器中,这个服务器一定先把该安装的依赖安装好,比如你是前端,先把node下载安装好。

4.1 安装地址: GitLab Runner 官方文档

安装 GitLab Runner 可以通过以下步骤进行:1. 首先你需要连接到你的 Linux 服务器,在服务器上打开终端。2. 在终端中,使用管理员权限(比如 sudo)执行以下命令来安装 GitLab Runner:- Debian/Ubuntu 系统:// 安装依赖sudo apt-get updatesudo apt-get install -y curl wget gnupg2// 安装 GitLab Runnercurl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bashsudo apt-get install gitlab-runner- CentOS/RHEL 系统://安装依赖sudo yum install curl policycoreutils-python openssh-server//安装 GitLab Runnercurl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bashsudo yum install -y gitlab-runner

4.2 注册 GitLab Runner

注册命令: gitlab-runner register

这一步容易出问题,最容易出问题的是选择执行方式.你可以在配置文件 `config.toml` 中设置 Runner 的执行方式,例如使用 Docker、Shell 、ssh等,以确保 Runner 能够正确地执行你的 CI/CD 任务。

简单快捷的方式是: shell

在注册过程中,系统将提示你输入 GitLab 的 URL、项目的注册令牌等信息。你可以在项目的 `Settings` --> `CI/CD` --> `Runner` 部分找到所需的注册令牌。

4.3 确保 Runner 处于活跃状态

确保你注册的 Runner 是活跃的,并且配置正确。在 GitLab Runner 的配置文件(通常位于 `/etc/gitlab-runner/config.toml`)中,确认 Runner 的配置,比如它应该指向正确的 GitLab 实例,且 Runner 标签符合项目的 `.gitlab-ci.yml` 文件中定义的要求。

4.4 启动 Runner  

你可以使用以下命令启动它:

gitlab-runner start

确认 Runner 正在运行后,回到 GitLab 项目的 CI/CD 设置中的 Runners 部分。等待几秒钟,你应该能够看到 Runner 的状态变为绿色,这意味着它已准备好接收工作。


 5.验证可行性

至此,配置完成,你可以在本地git push后查看部署的网址是不是最新的代码。

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

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

相关文章

QT 输入框输入限制 正则表达式限制 整理

在使用 输入数值时,经常遇到限制其范围的需要,比如角太阳高度角范围为[-90,90],经度值范围[-180,180],方位角范围[0,360]。Qt提供了QIntValidator和QDoubleValidator可以限定数值输入范围,如使用QIntValidator限制整数…

数模学习day01-层次分析法模型

已经一个多月没有更新过文章了,为了保住那绩点的意思微弱的优势,直接开摆,开始复习专业课和公共课考试了,结果虽然有遗憾但是还是算不错,至少没有掉到3.xx嘿嘿。 然后现在就要开始学习数学建模和算法同步了。接下来的文…

GPU性能实时监测的实用工具

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

python作业题百度网盘,python作业答案怎么查

大家好,小编来为大家解答以下问题,python作业题百度网盘,python作业答案怎么查,今天让我们一起来看看吧! 1 以下代码的输出结果为: alist [1, 2, 3, 4] print(alist.reverse()) print(alist) A.[4, 3, 2, …

苏州科技大学计算机817程序设计(java) 学习笔记

之前备考苏州科技大学计算机(专业课:817程序设计(java))。 学习Java和算法相关内容,现将笔记及资料统一整理归纳移至这里。 部分内容不太完善,欢迎提议。 目录 考情分析 考卷题型 刷题攻略…

7.2 uvm_resource_db in UVM

uvm_resource_db是一个类型参数化 type-parameterized的类,它是资源数据库顶部的一个方便层(convenience layer)。这个便利层简化了对低级数据库的访问,并且没有添加新功能。因此,uvm_resource_db不是从uvm_resource类派生的。以下uvm_resour…

怎么下载landsat 8影像并在ArcGIS Pro中进行波段组合

Landsat 8(前身为Landsat数据连续性任务,或 LDCM)于2013年2月11日由 Atlas-V火箭从加利福尼亚州范登堡空军基地发射升空,这里为大家介绍一下该数据的下载的方法,希望能对你有所帮助。 注册账号 如果之前已经注册过的…

如何通过内网穿透实现远程访问本地Linux SVN服务

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

深信服技术认证“SCCA-C”划重点:云计算基础

为帮助大家更加系统化地学习云计算知识,高效通过云计算工程师认证,深信服特推出“SCCA-C认证备考秘笈”,共十期内容。“考试重点”内容框架,帮助大家快速get重点知识。 划重点来啦 *点击图片放大展示 深信服云计算认证&#xff08…

多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测

多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现SSA-BiLSTM麻雀算法优化…

技术探秘:在RISC Zero中验证FHE——RISC Zero应用的DevOps(2)

1. 引言 前序博客: 技术探秘:在RISC Zero中验证FHE——由隐藏到证明:FHE验证的ZK路径(1) 技术探秘:在RISC Zero中验证FHE——由隐藏到证明:FHE验证的ZK路径(1) 中&…

C单片机数据类型

C语言数据类型 关键字位数表示范围stdint关键字ST关键字unsigned char80 ~ 255uint8_tu8char8-128 ~ 127int8_ts8unsigned short160 ~ 65535uint16_tu16short16-32768 ~ 32767int16_ts16unsigned int320 ~ 4294967295uint32_tu32int32-2147483648 ~ 2147483647int32_ts32unsig…

根据DCT特征训练CNN

记录一次改代码的挣扎经历: 看了几篇关于DCT频域的深度模型文献,尤其是21年FcaNet:基于DCT 的attention model,咱就是说想试试将我模型的输入改为分组的DCT系数,然后就开始下面的波折了。 第一次尝试&#xf…

k8s面试之——简述网络模型

kubernetes网络模型是kubernetes集群中管理容器网络通信的一种机制,用于实现pod间、pod与外部网络间的通信和互联,并提供了多种网络插件和配置选项来满足不同应用场景下的需求。kubernetes网络模型可以分为一下几个部分: 1. pod网络模型 在…

傻瓜式教学Docker 使用docker compose部署 php nginx mysql

首先你可以准备这个三个服务,也可以在docker compose 文件中 直接拉去指定镜像,这里演示的是镜像服务已经在本地安装好了,提供如下: PHP # 设置基础镜像 FROM php:8.2-fpm# install dependencies RUN apt-get update && apt-get install -y \vim \libzip-dev \libpng…

【docker笔记】docker理论及安装

前言 本笔记来源于尚硅谷docker教学视频 视频地址:https://www.bilibili.com/video/BV1gr4y1U7CY/?spm_id_from333.337.search-card.all.click 纯手打笔记,来之不易,感谢支持~ Docker简介 docker为什么会出现 想象一下:一个应用…

【数据结构初阶】二叉树(2)

二叉树顺序结构 1.二叉树的顺序结构及实现1.1二叉树的顺序结构 1.2 堆的概念及结构1.3 堆的实现1.3.1向上调整1.3.2向下调整1.3.3交换函数1.3.4打印1.3.5初始化1.3.6销毁1.3.7插入1.3.8删除1.3.9获得堆顶元素1.3.10判断是否为空1.3.6 堆的代码实现 1.3.2堆的创建1.3.3 建堆时间…

Tg5032smn:高稳定性105℃高温

TG5032SMN是一款频率范围10MHz ~ 54MHz,具有高稳定的TCXO晶振,可与CMOS或限幅正弦输出。外部尺寸5.0 3.2 1.45mm,超小型,质地轻。该系列晶振的额定工作范围-40℃~﹢105C内可高稳定性工作,使得信号频率的误差很小。TG5032SMN与其他…

在k8s中将gitlab-runner的运行pod调度到指定节点

本篇和前面的 基于helm的方式在k8s集群中部署gitlab 具有很强的关联性,因此如果有不明白的地方可以查看往期分享: 基于helm的方式在k8s集群中部署gitlab - 部署基于helm的方式在k8s集群中部署gitlab - 备份恢复基于helm的方式在k8s集群中部署gitlab - 升…

云原生Kubernetes:K8S集群版本升级(v1.22.14 - v1.23.14)

目录 一、理论 1.K8S集群升级 2.环境 3.升级集群(v1.23.14) 4.验证集群(v1.23.14) 二、实验 1. 环境 2.升级集群(v1.23.14) 2.验证集群(v1.23.14) 一、理论 1.K8S集群升级 …