关键字

 
script 由Runner执行的Shell脚本。
image 使用docker镜像,  image:name
service 使用docker  services镜像, services:name
before_script 执行作业前运行的脚本
after_script 作业完成后运行的脚本
stages 定义管道中的步骤,依次运行
stage 定义管道中步骤的作业段
only 指定作业限制only:refsonly:kubernetesonly:variables,和only:changes
 tags  指定执行作业的runner
 allow_failure  让job失败
 when  什么时候开始工作,
  1. on_success- 只有当前一个阶段的所有工作都成功时(或者因为它们被标记而被认为是成功的allow_failure才执行工作 这是默认值。
  2. on_failure - 仅当前一阶段的至少一个作业失败时才执行作业。
  3. always - 无论先前阶段的工作状态如何,都可以执行工作。
  4. manual - 手动执行作业
  5. delayed延迟作业。后面跟start_in,start_in 30minutes(延迟30分钟),不加单位,默认为秒。最长可延迟1小时。
 environment  作业部署到的环境名称   #暂未搞清
 cache

  key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" #为每分支,每步骤启用缓存

 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
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄