GitLab CI/CD

news2025/1/20 3:42:01

CI/CD

简介

CI/CD 简单来说就是可以自动化编译、测试、打包我们的代码。

GitLab CICD的使用

首先需要安装gitlab-runner。

在GitLab 中,runners 是运行 CI/CD 作业的代理。我们的对代码的作业都是在runner上去执行的。我们可以在本地、服务器、等任意一个联网设备去安装我们的gitlab-runner。

Windows 安装gitlab-runner方法

  1. 在我们的本地目录创建 gitlab-runner 目录,并进入目录

  2. 打开PowerShell,下载gitlab-runner.exe

    1. 可通过PowerShell命令下载:输入

    Invoke-WebRequest -Uri "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-amd64.exe" -OutFile "gitlab-runner.exe"

    1. 或者直接官网下载:https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-amd64.exe
  3. 下载完之后,重命名文件为gitlab-runner.exe

  4. 注册,使用刚刚下载的exe文件,通过PowerShell命令执行

./gitlab-runner.exe register --url 你的url --registration-token 你的token

url和token在gitlab网站去复制自己账户的
在这里插入图片描述

除了需要填写该runner关联的url和token,还有runner的描述和标签tags,还有runner执行时候的脚本类型,这两个可以填任意填写。我这里tags填的test,下面会用到。

  1. 注册完之后,需使用管理员权限打开PowerShell,并进入到gitlab-runner目录依次执行以下命令:

.\gitlab-runner.exe install.\gitlab-runner.exe start

此后我们在上传代码时,同时上传我们的yml脚本,就能自动执行我们的任务。

yml脚本

在仓库的根目录下创建一个 .gitlab-ci.yml 文件。该文件是您定义 CI/CD 作业的地方。

例如以下脚本:

stages:
    - build
    - test
build-job:
  stage: build
  script:
    - echo "Hello, world!"
  tags:
    - test

test-job1:
  stage: test
  script:
    - echo "This job tests something"
  tags:
    - test
test-job2:
  stage: test
  script:
    - echo "This job tests something, but takes more time than test-job1."
    - echo "After the echo commands complete, it runs the sleep command for 20 seconds"
    - echo "which simulates a test that runs 20 seconds longer than test-job1"
    - sleep 2
  tags:
    - test

该脚本定义了三个作业任务build-job、test-job1、test-job2;

其中

  • stages:使用 stages 来定义包含作业组的阶段。stages 是为流水线全局定义的。上述的脚本表示build阶段会在test阶段之前运行。
  • stage:使用 stage 定义作业在哪个 stage 中运行。同一个 stage 中的作业可以并行执行。比如脚本中的test-job1和test-job2都属于test阶段,可以并行运行。

并行运行的条件:如果作业在不同的 runner 上运行,则它们可以并行运行。如果您只有一个 runner,如果 runner 的 concurrent 设置大于 1,作业可以并行运行。

  • tags:使用 tags 从项目可用的所有 runner 列表中选择一个特定的 runner。比如我们最开始在windows上安装了一个runner,在注册的时候填的tags为test。因此我这里脚本中所有的任务的tags都是test,表示我所有的任务都在我的windows的runner上去运行。

这个tags不填也是可以的,我们的runner可以在官网设置运行没有tags的任务。

在这里插入图片描述
在这里插入图片描述

  • script:使用 script 指定 runner 要执行的命令。上述脚本中都是一些shell指令

更多的关键字可参考官网https://docs.gitlab.cn/jh/ci/yaml/#script

执行结果

将上述脚本放在我们的git项目根目录下

在这里插入图片描述

我们通过git上传代码后,可以在GitLab中查看我们的pipeline,可以看到我们的三个任务执行情况

在这里插入图片描述

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

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

相关文章

chatgpt赋能Python-python_chat

Python Chat: 使用Python编程语言打造聊天应用 在当今数字化的时代,人们需要有一种跨越地域和时间的即时通讯方式,这就是聊天应用的用武之地。Python编程语言因其易读易写的特性,和广泛的社区支持成为了许多开发者的首选。Python Chat是一款…

2023年CentOS镜像下载地址,包括CentOS官网、国内镜像下载,超详细教学,小白也能学会。

目录 1.CentOS官网镜像下载 1.1进入CentOs官网镜像下载地址 1.2找到需要下载的版本 1.3选择isos镜像文件夹 1.4选择架构 1.5下载种子文件 2.阿里云开源镜像站下载 2.1进入阿里云开源镜像站下载地址 2.2找到需要下载的版本 2.3选择isos镜像文件夹 2.4选择架构​ 2.5…

vue3学习手册

vue3 1.认识vue31.1了解相关信息1.2 性能提升:1.3 新增特性1.4 使用 vue-cli 创建vue项目1.5 使用 vite 创建 2.全局api2.1 createApp()2.2 app.mount()2.3 app.unmount()2.4 app.provide()2.5 app.component()2.6 app.use()2.7 app.version2.8 app.config2.9 app.config.error…

阿拉德手游服务端Centos搭建教程

阿拉德手游服务端Centos搭建教程 大家好我是艾西,又有几天没有更新文章了。这几天看了看还是有不少人对手游感兴趣,今天给大家分享一款早些年大火的pc游戏,现在也有手游了“阿拉德”。 你是否还记得DNF,一天你不小心救了赛丽亚&a…

如何基于LiveNVR实现无人机等RTMP推流转成GB28181协议级联到GB28181视频平台

1、需求介绍 目前很多移动终端设备(如无人机等)只支持RTMP推流输出,不支持GB28181协议。但是又有需要通过GB28181协议接入到视频平台的需求。比如有些大疆无人机产品不能直接注册国标平台,只能rtmp推流。那么,项目中如…

什么是5G北斗RTK差分定位系统?它有哪些优势和应用领域?

5G技术的普及和应用,使得物联网和智能设备的使用越来越广泛。然而,在实际应用过程中,精准的定位数据是必不可少的。北斗差分定位系统作为一项定位技术,受到了市场的关注。本文将对5G北斗差分定位系统进行分析,并比较其…

作为一名软件测试从业人员,你有弄明白你的发展方向吗?

对于软件测试从业人员来说,职业发展方向的清晰并不仅仅是个人规划的问题,更是行业发展趋势所决定的。随着信息技术的快速发展和社会的变革,软件行业也在不断地演化中。因此,了解这个行业的发展趋势,并且根据自身的实际…

tcp丢包的排查

丢包的排查: 参考资料:1、https://blog.csdn.net/maimang1001/article/details/121786580 2、https://blog.csdn.net/m0_67645544/article/details/124574099 1、 网卡丢包 a) ifconfig b) 查看网卡丢包统计(虚拟机看不到网卡信息):eth…

【论文阅读】CatSQL: Towards Real World Natural Language to SQL Applications

【论文阅读】CatSQL: Towards Real World Natural Language to SQL Applications 文章目录 【论文阅读】CatSQL: Towards Real World Natural Language to SQL Applications1. 来源2. 介绍3. 方法介绍3.1 CatSQL模板3.2 CatSQL 查询生成3.2.1 GraPPa嵌入网络3.2.2 使用CAT解码器…

Keil Debug 逻辑分析仪使用

Keil Debug 逻辑分析仪使用 基础配置 更改对应的bebug窗口参数 两边的 Dialog DLL 更改为:DARMSTM.DLL两边的 Parameter (这里的根据单片机型号更改)更改为:-pSTM32F103VE 选择左边的 Use Simulator 选项。 打开Debug和其中的逻…

安卓基础巩固(二):四大组件:Activity、Service、Broadcast、Content Provider

文章目录 Activity生命周期onCreate和onStart的区别onPause和onStop的区别生命周期的变化 Activity的启动IntentBundle Activity携带参数返回Activity启动模式任务(task),返回栈(back stack)Activity的四种启动模式sta…

CHB-麻省理工学院头皮脑电图数据库

数据库介绍 该数据库在波士顿儿童医院收集,包括患有顽固性癫痫发作的儿科受试者的脑电图记录。受试者在停用抗癫痫药物后被监测长达几天,以表征他们的癫痫发作并评估他们手术干预的候选资格。 数据库链接:https://physionet.org/content/chb…

Vue中的Ajax

目录: 1. Vue脚手架配置代理2.GitHub用户搜索案例3.vue-resource4.slot插槽 1.Vue脚手架配置代理 vue脚手架配置代理服务器: 方法一:在vue.config.js中添加如下配置: devServer:{proxy:"http://localhost:5000" …

sqlmap结合dnslog快速注入

目录 修改数据库secure_file_priv的属性值 配置dns服务器 sqlmap结合dnslog注入 实验环境: 攻击机:kail(ip:192.168.125.212) dns服务器:win server_2008 r2(ip:192.168.125.191&…

使用rollup打包vue3+ts+vite组件并发布至npm

创建项目(我使用的是yarn) 使用vite创建vue3ts项目,这里不演示,自行创建 创建打包区域 src下创建rollup文件夹;cmd控制台进入至rollup;执行yarn --init,根据自己需求生成package.json文件&…

KY222 打印日期

1.题目&#xff1a; 2.分析&#xff1a; 见代码。 3.我的代码&#xff1a; #include <iostream> using namespace std;class Date { public:Date(int year 1): _year(year) {}inline int GetMonthDay(int year, int month) {static int arr[13] { 0, 31, 28, 31, 3…

CE做业(6)

1、判断当前磁盘剩余空间是否有20G&#xff0c;如果小于20G&#xff0c;则将报警邮件发送给管理员&#xff0c;每天检查一次磁盘剩余空间。 &#xff08;1&#xff09;剩余空间 取出剩余空间 &#xff08;1&#xff09;剩余空间 &#xff08;2&#xff09;判断是否<20 #…

自动化测试 selenium

目录 一、了解自动化测试和selenium 1. 什么是自动化测试&#xff1f;为什么要使用自动化测试&#xff1f; 2. 为什么使用selenium&#xff1f; 3. 环境部署 4. 什么是驱动&#xff1f;驱动的工作原理 5. selenium 的依赖代码 二、selenium 的基础语法 1. 元素的定位 …

二叉树的序列化(serialization)与反序列化(de-serialization)

目录 1. 概要 2. 用一维数组表示二叉树 3. python实现 3.1 二叉树节点的表示 3.2 串行化的python实现 3.3 反串行化的python实现 3.4 测试 1. 概要 本文简要介绍二叉树的序列化处理和反序列化处理及对应的python实现。 二叉树通常为了方便而以一维数组&#xff08;比如…

mysql 库的操作

文章目录 mysql 库的操作1. 创建数据库创建数据库案例 2. 字符集和校验规则查看系统默认的字符集合校验规则查看数据库支持的字符集查看数据库支持的字符集较验规则校验规则对数据库的影响 3. 操作数据库查看数据库显示创建语句修改数据库删除数据库查看数据库连接情况 mysql 库…