GitlabCI/CD 学习记录 - .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               #什么时候开始工作,
  on_success       #只有当前一个阶段的所有工作都成功时(或者因为它们被标记而被认为是成功的allow_failure)才执行工作 。这是默认值。
  on_failure       #仅当前一阶段的至少一个作业失败时才执行作业。
  always           #无论先前阶段的工作状态如何,都可以执行工作。
  manual           #手动执行作业
  delayed          #延迟作业。后面跟start_in,start_in 30minutes(延迟30分钟),不加单位,默认为秒。最长可延迟1小时。
environment        #作业部署到的环境名称   #暂未搞清
cache    
  key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" #为每分支,每步骤启用缓存
artifacts          #job成功时附加到作业的文件或目录
dependencies       #此job依赖其他jobz,主要作用于作业优先级
converage          #给定作业代码覆盖率设置       
retry              #在发生故障时,可以自动重试作业的次数。
parallel          #应该并行运行多少个作业实例
trigger            #定义下游管道触发器
include            #允许此作业包含外部YAML
extends            #此作业将继承的配置项
pages              #上传作业结果用于gitlab pages
variables          #作业级别定义作业变量

二、示例

runner的执行方式为shell的简单示例。

 1 cache:
 2     key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG"  #为每分支提供缓存
 3     paths:
 4       - node_modules           #缓存哪些文件/文件夹
 5       - bower_components
 6 before_script:   
 7 -echo "执行前运行脚本"
 8 after_script:
 9 -echo "执行后运行脚本" 
10 stages:     #设置步骤有哪些,常用三大块,创建,测试,发布
11   -build
12   -test
13   -deploy
14 Job1:        #设置某一步的运行工作,每个步骤可有多个job同步进行,也可设置dependencies限制
15   stage:build     #此job属于哪个步骤
16   script:
17     -echo "go  go   go" 
18   only:
19     -master    #哪个分支触发
20   tags:
21     -share      #指定runner,注册runner时填写的tag
22 test:
23   stage:test
24   script:
25     -echo "测试开始"
26   only:
27     -master
28   tags:
29     -share
30 deploy:
31   stage:deploy
32   when: 
33    - manual  #上面有解释
34   script:
35     -echo "部署开始"
36 only:
37     -master
38   tags:
39     -share

参考资料

.gitlab-ci.yml简介

猜你喜欢

转载自www.cnblogs.com/wangwangfei/p/13372099.html
今日推荐