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
相关产品推荐
相关产品推荐

