You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitLab CI/CD中禁用作业的重试/重新运行选项?

在GitLab CI/CD中禁用单个作业的手动重试按钮

你之前设置retry: 0没效果是因为这个配置仅控制作业失败后的自动重试次数,并不会隐藏手动触发的Retry按钮。要禁用单个作业的手动重试,需针对GitLab版本采用不同方案:

针对GitLab 14.10及以上版本(推荐)

GitLab 14.10新增了retry.manual配置项,直接设置为false即可禁用手动重试按钮,同时搭配max: 0关闭自动重试:

your_target_job:
  script:
    - # 你的作业执行脚本
  retry:
    max: 0
    manual: false

这个配置会同时关闭该作业的自动重试功能,并且隐藏流水线界面上的Retry按钮。

针对GitLab 14.10以下版本(变通方案)

旧版本没有retry.manual选项,可以通过GitLab API在作业完成后手动设置其不可重试。需要先在项目的CI/CD变量中配置具有api权限的GITLAB_TOKEN:

your_target_job:
  script:
    - # 你的作业执行脚本
    - |
      # 调用API禁用当前作业的重试权限
      curl --request PUT \
        --header "PRIVATE-TOKEN: $GITLAB_TOKEN" \
        "$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/$CI_JOB_ID" \
        --form "allow_retry=false"
  retry: 0

注意:这个方法需要确保GITLAB_TOKEN拥有足够的权限(至少能修改作业状态),且会增加作业的执行步骤。

内容的提问来源于stack exchange,提问作者Sam Pearce

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 03:32:16