gitlab-ci配置

gitlab-ci配置

配置文件详解

gitlab-ci.yml参数列表

是否必须 描述
script 必须 定义由Runner执行的shell脚本或命令
extends 非必须 定义此作业将继承的配置条目
image 非必须 需要使用的docker镜像,请查阅该文档
services 非必须 定义所需的docker服务,请查阅该文档
stage 非必须 定义一个工作场景阶段,默认是test
type 非必须 stage的别名,不赞成使用
variables 非必须 在job级别上定义的变量
only 非必须 定义job所引用的git分支
except 非必须 定义job所不适用的git分支
tags 非必须 定义job所适用的runner,tags为runner标签
allow_failure 非必须 允许任务失败,但是如果失败,将不会改变提交状态
when 非必须 定义了job什么时候执行,可以是on_success、on_failure、always和manual
dependencies 非必须 定义了该job依赖哪一个job,如果设置该项,可以通过artifacts设置
artifacts 非必须 工件,在依赖项之间传递的东西,类似cache,但原理与cache不同
cache 非必须 定义需要被缓存的文件、文件夹列表
before_script 非必须 覆盖在作业之前执行的脚本或命令
after_script 非必须 覆盖在作业之后执行的脚本或命令
environment 非必须 定义让job完成部署的环境名称
coverage 非必须 定义job设置代码覆盖率
retry 非必须 定义job失败后的自动重试次数

gitlab-ci配置示例

before_script:
  - echo "每个job之前都会执行"    
​
after_script:
  - echo "每个job之后都会执行"   
​
# 定义testing的任务
to-testing:
  # 场景为构建
  stage: deploy
  # 在哪个分支上可用
  only:
    - testing
    - /^testing_.*$/ #正则表达式,只有testing_开头的分支才会执行
  # sh文件路劲是git-ruuner服务所在的服务器
  script:
    - /bin/bash /home/deploy.sh
  # 在runner中设置,不然merge时不会推进队列
  tags:
    - deploy_develop
  environment:
    name: testing
    
# 定义production的任务
to-production:
  # 场景为构建
  stage: production
  # 在哪个分支上可用
  only:
    - production
  # sh文件路劲是git-ruuner服务所在的服务器
  script:
    - /bin/bash /home/deploy.sh
  tags:
    - deploy_production
  environment:
    name: production

 

你可能感兴趣的:(docker,shell,gitlab,github,git)