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

GitLab CI前序为手动任务时后续阶段为何仍允许运行

这个属于正常现象,核心原因是GitLab CI的规则设定:

  • 被 when: manual 标记的手动执行任务,默认会自动开启 allow_failure: true 属性
  • 当任务配置了 allow_failure: true 时,它的执行状态不会影响所属阶段的最终状态,哪怕你没有手动触发这个任务,build 阶段也会被判定为执行成功,自然就会直接进入下一阶段启动 deploy-bridge 任务

如果要实现你预期的「必须手动触发build-job且运行成功后,才执行deploy阶段任务」的逻辑,只需要给build-job显式添加allow_failure: false配置即可,修改后的配置如下:

stages:
  - build
  - deploy

build-job:
  stage: build
  script:
    - echo "Compiling the code..."
    - echo "Compile complete."
  when: manual
  allow_failure: false # 新增该配置,关闭允许失败规则

deploy-bridge:
  stage: deploy
  trigger:
    project: tests/ci-downstream

修改后build阶段会等待你手动触发build-job,且只有该任务执行成功后,才会进入deploy阶段执行后续任务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:12:01