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

如何创建可手动触发的多项目流水线?解决子项目双触发报错问题

问题解决:下游流水线无法创建的修复方案

报错翻译

无法创建下游流水线。所选触发器不会运行流水线。规则配置阻止任何任务被添加到流水线中

问题原因

你提供的test-project流水线配置里,build-test-project任务只设置了when: manual,这意味着只有手动触发流水线时,该任务才会被纳入执行队列。但父项目触发下游流水线属于自动触发场景,不满足manual的条件,最终下游流水线无可用执行任务,因此抛出上述错误。

修复方案

将when: manual替换为更灵活的rules配置,让任务同时支持手动触发和流水线触发两种场景:

stages:
 - build

build-test-project:
 stage: build
 rules:
   # 手动触发时,任务保持手动确认状态
   - if: '$CI_PIPELINE_SOURCE == "web"'
     when: manual
   # 被父流水线触发时,自动执行任务
   - if: '$CI_PIPELINE_SOURCE == "pipeline"'
     when: always
 script:
  - mvn clean install

配置说明

  • $CI_PIPELINE_SOURCE == "web":对应通过GitLab界面手动点击运行的场景,保留手动确认的交互逻辑
  • $CI_PIPELINE_SOURCE == "pipeline":对应被其他流水线触发的场景,设置when: always确保任务自动执行,避免下游流水线因无任务而创建失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 22:12:11