.gitlab-ci.yml简介
关键字
script | 由Runner执行的Shell脚本。 |
image | 使用docker镜像, image:name |
service | 使用docker services镜像, services:name |
before_script | 执行作业前运行的脚本 |
after_script | 作业完成后运行的脚本 |
stages | 定义管道中的步骤,依次运行 |
stage | 定义管道中步骤的作业段 |
only | 指定作业限制only:refs ,only:kubernetes ,only:variables ,和only:changes |
tags | 指定执行作业的runner |
allow_failure | 让job失败 |
when | 什么时候开始工作,
|
environment | 作业部署到的环境名称 #暂未搞清 |
cache | key: |
artifacts | job成功时附加到作业的文件或目录 SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。 |
dependencies | 此job依赖其他jobz,主要作用于作业优先级 |
converage | 给定作业代码覆盖率设置 |
retry | 在发生故障时,可以自动重试作业的次数。 |
parallel | 应该并行运行多少个作业实例 |
trigger | 定义下游管道触发器 |
include | 允许此作业包含外部YAML |
extends | 此作业将继承的配置项 |
pages | 上传作业结果用于gitlab pages |
variables | 作业级别定义作业变量 |
单使用示例:
runner的执行方式为shell的简单示例。
cache:
key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" #为每分支提供缓存
paths:
- node_modules #缓存哪些文件/文件夹
- bower_components
before_script:
-echo "执行前运行脚本"
after_script:
-echo "执行后运行脚本"
stages: #设置步骤有哪些,常用三大块,创建,测试,发布
-build
-test
-deploy
Job1: #设置某一步的运行工作,build时可有多个job同步进行
stage:build #此job属于哪个步骤
script:
-echo "go go go"
only:
-master #哪个分支触发
tags:
-share #指定runner,注册runner时填写的tag
test:
stage:test
script:
-echo "测试开始"
only:
-master
tags:
-share
deploy:
stage:deploy
when:
- manual #上面有解释
script:
-echo "部署开始"
only:
-master
tags:
-share

更多精彩