GitLabPipeline语法when

IT
IT
IT
335
文章
1
评论
2020年5月6日13:50:24 评论 1,382 858字阅读2分51秒

on_success前面阶段中的所有作业都成功(或由于标记为allow_failure而被视为成功)时才执行作业。 这是默认值。

on_failure当前面阶段出现失败则执行。

always -执行作业,而不管先前阶段的作业状态如何,放到最后执行。总是执行。

manual 手动

manual -手动执行作业,不会自动执行,需要由用户显式启动. 手动操作的示例用法是部署到生产环境. 可以从管道,作业,环境和部署视图开始手动操作。

此时在deploy阶段添加manual,则流水线运行到deploy阶段为锁定状态,需要手动点击按钮才能运行deploy阶段。

GitLabPipeline语法when

delayed 延迟

delayed 延迟一定时间后执行作业(在GitLab 11.14中已添加)。

有效值'5',10 seconds,30 minutes, 1 day, 1 week 。

GitLabPipeline语法when

实验demo

before_script:
  - echo "before-script!!"

variables:
  DOMAIN: example.com
  
stages:
  - build
  - test
  - codescan
  - deploy

build:
  before_script:
    - echo "before-script in job"
  stage: build
  script:
    - echo "mvn clean "
    - echo "mvn install"
    - echo "$DOMAIN"
  after_script:
    - echo "after script in buildjob"

unittest:
  stage: test
  script:
    - ech "run test"
  when: delayed
  start_in: '30'
  allow_failure: true
  

deploy:
  stage: deploy
  script:
    - echo "hello deploy"
    - sleep 2;
  when: manual
  
codescan:
  stage: codescan
  script:
    - echo "codescan"
    - sleep 5;
  when: on_success
 
after_script:
  - echo "after-script"
  - ech
  

GitLabPipeline语法when

继续阅读
  • 我的QQ
  • QQ扫一扫
  • weinxin
  • 我的头条
  • 头条扫一扫
  • weinxin
IT
  • 本文由 发表于 2020年5月6日13:50:24
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
GitLabPipeline语法parallel GitLab-Pipeline

GitLabPipeline语法parallel

配置要并行运行的作业实例数,此值必须大于或等于2并且小于或等于50。 这将创建N个并行运行的同一作业实例. 它们从job_name 1/N到job_name N/N依次命名。 codescan: st...
GitLabPipeline语法timeout GitLab-Pipeline

GitLabPipeline语法timeout

timeout 超时 特定作业配置超时,作业级别的超时可以超过项目级别的超时,但不能超过Runner特定的超时。 build: script: build.sh timeout: 3 hours 30...
GitLabPipeline语法retry GitLab-Pipeline

GitLabPipeline语法retry

配置在失败的情况下重试作业的次数。 当作业失败并配置了retry ,将再次处理该作业,直到达到retry关键字指定的次数。如果retry设置为2,并且作业在第二次运行成功(第一次重试),则不会再次重试...