当前位置: 首页 > news >正文

GitLab CI/CD

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: buildscript:- echo "Hello, world!"tags:- testtest-job1:stage: testscript:- echo "This job tests something"tags:- test
test-job2:stage: testscript:- 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 2tags:- 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.lryc.cn/news/70071.html

相关文章:

  • PHP复习资料(未完待续)
  • 【python】pytorch包(第二章)API使用与介绍
  • Linux驱动基础(SR501人体感应模块)
  • Android Studio Flamingo (火烈鸟) 升级踩坑记录
  • 【JAVA凝气】异常篇
  • C++中的函数模板
  • MapReduce【Shuffle-Combiner】
  • postman接口自动化测试
  • 历经70+场面试,我发现了大厂面试的套路都是···
  • 可视区域兼容性问题的思考及方法封装
  • 安全工具 | CMSeeK [指纹识别]
  • Android新logcat使用技巧
  • 使用Makefile笔记总结
  • npm下载依赖项目跑不起来--解决方案
  • SolVES模型生态系统服务功能社会价值评估
  • Godot引擎 4.0 文档 - 入门介绍 - 学习新功能
  • 如何进行MySQL漏洞扫描
  • C语言函数大全-- x 开头的函数(3)
  • 计算机图形学-GAMES101-12阴影
  • iOS_Swift高阶函数
  • 探索Vue的组件世界-组件复用
  • OMA通道-2
  • SAP 用CO13冲销工序报工,但是没有产生货物移动(TCODE:CO1P 、 SE38 :CORUPROC,CORUAFWP)
  • 信息收集-服务器信息
  • 连续签到积分兑换试用流量主小程序开发
  • C语言—自定义类型(结构体、枚举、联合)
  • Node.js博客项目开发思路笔记
  • python 之 shutil 文件的复制、删除、移动文件以及目录,并支持文件的归档、压缩和解压
  • jface
  • 六级备考28天|CET-6|听力第一讲|基本做题步骤与方法|13:30~14:30