【从零开始学极狐gitlab】05CICD简介 #JIHULAB101

1、介绍

极狐gitlab是一个开箱即用的一站式devops平台,通过流水线的形式完成应用的构建、测试和发布。下图是官方推荐的一套cicd流程。
来自官网
这一套流程的配置是在项目根目录的.gitlab-ci.yml文件中定义,运行需要Runner。SaaS版提供免费的共享Runner,自己部署Runner可以参考裸机部署云原生部署

2、与jenkins对比

jenkins是一款非常优秀的持续集成工具、功能强大插件众多。
版本管理工具(如gitlab、gitee、gitblit、github等)+持续集成工具(如jenkins)也可以实现CICD过程。

我公司目前的cicd是极狐gitlab+jenkins,下面根据实际遇到的问题列举出极狐gitlab CICD的优点(ps:极狐gitlab的CICD我正处于学习阶段,没有投入生产,所以暂时没总结出缺点)

1–减少维护工作

最直观的就是可以少维护一个工具,不需要再考虑升级、备份、迁移等问题

2–相似项目的新建

比如公司需要基于现有的订单系统开发另一套订单系统时,
当前的工作量:克隆gitlab项目、克隆jenkins项目,配置jenkins上的git地址,配置jenkins上的webhooks令牌(用于提交代码时触发构建)。
如果使用gitlab的cicd:只需要克隆一份gitlab项目即可(cicd的配置在.gitlab-ci.yaml文件中会被一同克隆)

3–配置的版本管理

jenkins如果使用freestyle风格的项目,修改配置没有历史记录,缺少追溯能力

3、“.gitlab-ci.yml”介绍

.gitlab-ci.yml文件定义了整个的cicd流程

1–新建

进入新建的测试项目(新建项目参考这里),依次点击左侧“CI/CD”——“编辑器”——“配置流水线”(如果不是新项目注意分支选择)
在这里插入图片描述
默认填充了一个模板,先不用看具体内容,通过这个模板可以看出它是一个yaml格式的文件:精确检查空格数量和缩进,#作为注释符,yml的语法可以参考这篇文章

2–文件结构

流水线一级分类为阶段(stage)二级分类为作业(job)

点击“可视化”可以直观查看:这个配置文件定义了流水线共包含Build、Test、Deploy三个阶段,Test阶段包含两个作业,其它阶段包含一个作业
在这里插入图片描述
通过与可视化的对比分析文件的构成:
①开头通过stages关键字定义了流水线分为几个阶段
在这里插入图片描述
②其它部分直接写job名称,job内用stage关键字指定了属于哪个阶段、script关键字指定了job具体执行哪些指令
在这里插入图片描述

4、第一个流水线

点击提交后会触发流水线运行
在这里插入图片描述
提交后点击上方查看流水线
在这里插入图片描述
可以看出job是按照stage定义顺序先后执行
在这里插入图片描述
点击job查看控制台输出,可以看出job执行了script关键字中定义的指令
在这里插入图片描述

5、指定runner

前面文章写了各种方法部署runner,总要把它用一下吧。
查看已运行pipeline的任意一个job输出可以看到,使用的是SaaS提供的共享runner
在这里插入图片描述
使用tag关键字
job只会匹配含指定tag的runner,如果没有则等待

deploy-job:
  tags:
    - linux

注意yaml格式
在这里插入图片描述

修改后查看编辑器上方,如果是这个标志表示语法没问题
在这里插入图片描述
提交更改后查看deploy-job的输出
在这里插入图片描述
可以看到使用了我自己的runner,因为我有一个runner含有“linux”的标签
在这里插入图片描述
以上使用tag关键字指定了使用哪些runner。极狐gitlab的cicd中还有很多关键字,后续会做演示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值