我们有一组重试类型来定义
retry.when
,例如script_failure
但是我们没有任何东西可以将这些类型与任意作业的日志或 GitLab 运行程序日志中的任何内容相匹配,或者我看不到它。
我们有什么吗?
一个示例案例是:
我们如何将 Gitlab 作业失败错误与重试 YAML 类型相匹配?
通过利用 GitLab CI/CD 配置文件中的规则:
job_name:
script:
- echo "Run your job here"
retry:
max: 3
when:
- runner_system_failure
- stuck_or_timeout_failure
在上面的示例中,当遇到与系统故障/超时相关的错误时,作业
job_name
将最多重试 3 次。您可以自定义它们,当条件基于您的特定错误场景时,将它们与适当的重试 YAML 类型有效匹配。
:允许作业在default-retry
、unknown_failure
、api_failure
、runner_system_failure
或job_execution_timeout
上重试stuck_or_timeout_failure
文档:https://docs.gitlab.com/ee/development/pipelines/internals.html