首页/开发/CI/CD 与发布速查/失败重试策略(Retry)
流水线设计54 条

失败重试策略(Retry)

只对基础设施类抖动做有限重试:Runner 掉线、拉取超时等;业务失败不重试,避免掩盖缺陷。

CI/CD 与发布速查开发更新于 2026-10-12
GitLabretry: max 次数 + when 条件(如 runner_system_failure、stuck_or_timeout_failure)
Jenkinsretry(n) 步骤包裹易抖动逻辑
原则重试上限 1-2 次,并保留原始失败记录

GitLab

GitLab
test:
  retry:
    max: 2
    when:
      - runner_system_failure
      - stuck_or_timeout_failure
对断言失败重试会制造不稳定信号:先修复用例或环境,再谈重试。

易错点

  • 无条件重试全部作业:真实 bug 被重试遮住,回归发现时间被推迟
  • 重试次数过大:单个作业最长耗时被放大数倍,排队连锁

数据来源与参考

  • GitLab Docs《retry》
  • Jenkins Handbook《Pipeline Syntax》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌