首先,这个配置文件是一个基于YAML的格式
常用关键字列表
- stages
定义全局可用流水线阶段(默认有.pre,build,test,deploy,.post)
详见官网 - stage
匹配Job属于哪个阶段;详见官网 - variables
定义变量:主要有全局变量,局部变量以及内置变量;详见官网 - when
定义当前job执行的条件,默认为前置任务成功时才执行;详见官网 - before_script
任务脚本之前执行的脚本;详见官网 - script
任务脚本;详见官网 - after_script
任务脚本之后执行的脚本;详见官网 - only
常用作限制触发任务的分支设置;但官方更推荐rules关键字 - image
定义docker 执行器的基础镜像环境;详见官网 - cache
将任务中的文件或目录缓存起来;详见官网 - artifacts
一般将任务中间产物缓存,用于job之间共享,限于本次流水线;详见官网
cache和artifacts 的区别 - tags
用于匹配runner;详见官网 - services
用于定义 docker 执行器内的基础服务,不是环境,而是一个可用的服务;详见官网 - dependencies
定义当前job的依赖的工件详见官网
这里只列出了很常见的关键字,其余关键字见官网
变量使用
- 系统内置很多可用变量:链接
- 全局变量, 定义在最外层供所有job使用
variables:
DOCKER_TLS_CERTDIR: "/certs"
- 局部变量,定义在job内部,用于当前job
build:
stage: build
variables:
TEST: test_value
变量的使用
$+变量名
$CI_REGISTRY_IMAGE