GitLabPipeline语法retry

IT
IT
IT
335
文章
1
评论
2020年5月6日13:58:26 评论 1,218 831字阅读2分46秒

配置在失败的情况下重试作业的次数。

当作业失败并配置了retry ,将再次处理该作业,直到达到retry关键字指定的次数。如果retry设置为2,并且作业在第二次运行成功(第一次重试),则不会再次重试. retry值必须是一个正整数,等于或大于0,但小于或等于2(最多两次重试,总共运行3次).

unittest:
  stage: test
  retry: 2
  script:
    - ech "run test"

GitLabPipeline语法retry

默认情况下,将在所有失败情况下重试作业。为了更好地控制retry哪些失败,可以是具有以下键的哈希值:

  • max :最大重试次数.
  • when :重试失败的案例.

根据错误原因设置重试的次数。

always :在发生任何故障时重试(默认).
unknown_failure :当失败原因未知时。
script_failure :脚本失败时重试。
api_failure :API失败重试。
stuck_or_timeout_failure :作业卡住或超时时。
runner_system_failure :运行系统发生故障。
missing_dependency_failure: 如果依赖丢失。
runner_unsupported :Runner不受支持。
stale_schedule :无法执行延迟的作业。
job_execution_timeout :脚本超出了为作业设置的最大执行时间。
archived_failure :作业已存档且无法运行。
unmet_prerequisites :作业未能完成先决条件任务。
scheduler_failure :调度程序未能将作业分配给运行scheduler_failure。
data_integrity_failure :检测到结构完整性问题。

实验

定义当出现脚本错误重试两次,也就是会运行三次。

unittest:
  stage: test
  tags:
    - build
  only:
    - master
  script:
    - ech "run test"
  retry:
    max: 2
    when:
      - script_failure

效果

GitLabPipeline语法retry

继续阅读
  • 我的QQ
  • QQ扫一扫
  • weinxin
  • 我的头条
  • 头条扫一扫
  • weinxin
IT
  • 本文由 发表于 2020年5月6日13:58:26
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
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语法when GitLab-Pipeline

GitLabPipeline语法when

on_success前面阶段中的所有作业都成功(或由于标记为allow_failure而被视为成功)时才执行作业。 这是默认值。 on_failure当前面阶段出现失败则执行。 always -执行作...