CI基本知识

什么是CI?(理解CI)

  • gitlab-ci是gitlab官方的一种持续集成(Continuous Integration)工具,通常用来进行日常的编译和自动化测试,避免提交上去的代码出现基础错误而影响项目进度。

  • 对于大的企业项目来说,往往是多人协同开发,并且项目周期都很长,需要将各种代码进行持续性的合并就称之为持续集成。

  • 比如有人可能会基于你所写的代码去实现其他的功能,如果你想要push自己新的修改,在此之前就要对新代码编译与测试,gitlab-ci就可以帮你完成这个功能,在push到gitlab上时,会自动触发编译测试与运行测试等功能。

使用CI的目的

  • 希望使用CI能够快速验证每次提交的可用性,经过自动化测试并同步到github。

持续集成的基本过程

  • 提交(合并)代码

  • 编译

  • 测试

  • 发布

具体的流程根据公司来制定.gitlab-ci.yml文件(此文件在下文会讲解),更加规范的公司会将CI流程做的更加具体。

gitlab-ci runner

ps:这里只是简单的普及概念,方便大家理解,具体的配置方法不在此赘述。


简单介绍一下runner,这个其实就是专门用来跑测试的主机,比如说我push新的提交之后,CI先会使用我提交的代码进行编译,然后将需要跑的TEST_CASE分配到真正运行的测试代码的主机上进行测试,这些配置好的主机就称之为runner。

.gitlab-ci.yml文件

这个文件中规定CI流程,最基础的流程:编译->分配->运行测试,这是有序流程,此流程就分为三个阶段(stage)。

  • job:在编译阶段可能会有很多的编译任务,每个独立的编译都是一个job。

  • stage:指定一组job在不同场景阶段执行。在同一stage下的job会并行执行。

  • only与except:指定触发条件,比如push的时候触发CI或者手动触发。

  • tags:选择允许哪些具备相同tag的runner执行该job。

  • when:失败执行、成功执行、手动执行、总执行。

  • artifacts:将此job制定的文件上传到服务器,可以传递给下一个job,使用dependencies: []可以禁止传递来的artifacts。

更详细的关键字详解可以参照geeeger发布的https://docs.gitlab.com/ee/ci/quick_start/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值