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

Sceptre配置CodePipeline V2出现重复触发过滤器问题

解决CodePipeline V2 + Sceptre 多余触发器过滤器问题

问题核心在于CodePipeline V2的触发器默认行为:当你通过Sceptre配置Git触发器时,如果没有完整覆盖FilterCriteria的Filters数组,CodePipeline会自动添加一个默认的BRANCH类型过滤器(匹配所有分支*),这就是流水线总是触发的原因。手动删除后Sceptre同步时又会重建,因为你的配置没明确覆盖这个默认规则。

具体修复步骤:

  • 完整定义FilterCriteria数组:不要拆分设置分支和文件路径规则,把它们放在同一个Filters列表里,明确指定FilterType为INCLUDE,确保数组里只有你需要的规则,没有默认的全匹配项。
  • 示例Sceptre YAML配置:
    Triggers:
      - ProviderType: CodeStarSourceConnection
        GitConfiguration:
          SourceActionName: "SourceAction"
          BranchName: "main"
          FilterCriteria:
            Filters:
              # 仅匹配main分支
              - Type: BRANCH
                Pattern: "main"
                FilterType: INCLUDE
              # 仅匹配infra目录下的文件修改
              - Type: FILE_PATH
                Pattern: "infra/**/*"
                FilterType: INCLUDE
    
  • 关键注意点:必须显式定义整个Filters数组,不能只使用BranchIncludes或FileIncludes这类简化参数——这些简化参数会和默认规则叠加,导致生成多个过滤器。

验证方法:

部署后去CodePipeline控制台查看触发器的过滤器,应该只有你定义的两个规则(分支+文件路径),没有额外的全匹配分支过滤器。此时只有修改infra/目录下的文件且在main分支时,才会触发流水线。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 13:30:57