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

CD流水线无法触发求助:CI完成后CD未自动执行问题排查

CI流水线完成后无法触发CD流水线的排查与解决方案

问题背景

我们已将CI/CD流水线拆分为独立的CI流水线与CD流水线:

  • CI流水线名为「VABApolloDataModel-Export」,仅包含main分支
  • 此前CD流水线采用以下配置可正常运行数周:
    resources:
      pipelines:
      - pipeline: 'CI-Pipeline'
        source: 'VABApolloDataModel-Export'
        trigger:
          branches:
            - main
    
  • 后续尝试另外两种配置,均无法在CI流水线完成后触发CD流水线:
    配置1:
    resources:
      pipelines:
      - pipeline: 'CI-Pipeline'
        source: 'VABApolloDataModel-Export'
        trigger: true
    
    配置2:
    resources:
      pipelines:
      - pipeline: 'CI-Pipeline'
        source: 'VABApolloDataModel-Export'
        trigger:
          branches:
            - '*'
    
  • 已检查DevOps中触发器状态,显示无异常,无法确定问题成因及此前正常运行现在失效的原因。

排查与解决步骤

1. 确认CI流水线的运行状态

  • 检查CI流水线执行完成后是否处于成功状态:多数DevOps平台的跨流水线触发器仅在CI成功完成时触发,若CI失败、被取消或处于其他非成功状态,不会触发CD。
  • 确认CI流水线是自动触发还是手动触发:部分平台限制手动触发的CI无法触发下游CD,若属于这种情况,需改为自动触发CI,或在平台配置中开启手动CI触发CD的权限。

2. 核对资源配置与权限

  • 确认CD流水线中source字段的CI流水线名称完全匹配:注意大小写、全角/半角符号(比如「」是否和实际流水线名称一致),名称不匹配会导致无法识别CI事件。
  • 检查CD所在项目是否拥有CI流水线的读取权限:若权限被修改,CD无法感知CI的完成事件,需在平台权限设置中重新配置。

3. 检查平台事件与缓存

  • 查看DevOps平台的事件日志:搜索CI完成后的事件记录,确认是否有发送触发CD的请求,以及请求是否被正常接收。若事件未发送,可能是平台内部队列问题,可手动触发一次CI,观察事件流向。
  • 刷新触发器配置:部分平台会缓存触发器设置,修改配置后需手动保存并刷新,或重启流水线的触发器服务。

4. 排查CD流水线的其他触发限制

  • 检查CD是否有其他触发器(如代码提交、定时任务):若存在冲突的触发规则,可能导致跨流水线触发被忽略,可暂时禁用其他触发器测试。
  • 查看CD流水线的触发条件:是否有额外的变量、阶段过滤条件,这些条件可能导致即使CI完成也不满足触发要求。

5. 重置触发器配置

  • 暂时移除CD中的流水线资源配置,保存后重新添加,确保平台正确解析配置。
  • 新建测试CD流水线:仅配置CI流水线的触发器,测试是否能正常触发,排除原CD流水线其他配置的干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:05:00