首页 > 解决方案 > 如何让gitlab故意重试?

问题描述

从这个链接, https://docs.gitlab.com/ee/ci/yaml/#retry

它表明有可能导致 gitlab 根据某些情况重试作业。这些情况列在“何时”部分。我们如何使脚本引起这些重试条件之一?

我们返回一个数字吗?我们如何找到什么数字?

出于某种原因,我们有时使用的服务永远不会被认为可以使用,所以我想做的是检查准备情况大约 10 分钟,如果它仍然失败,则以“stuck_or_timeout_failure”为由使脚本失败然后有:

retry:
  max: 5
  when:
    - stuck_or_timeout_failure

我如何到达那里?

标签: gitlabgitlab-ci

解决方案


GitLab 14.6(2021 年 12 月)应该可以做到这一点:

API 响应中返回的作业失败原因

使用 API 收集有关作业失败原因的数据可能很困难。
例如,您可能需要确切的失败原因来更好地使用retry:when关键字。

现在,failure_reason它在来自 Jobs API 的响应中公开,并且更容易收集作业失败数据。
感谢@albert.vacacintora的贡献!

请参阅文档问题


推荐阅读