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

如何配置CircleCI使其仅在GitHub的master分支上运行?

CircleCI 仅 master 分支触发构建问题排查

你提供的config.yml语法符合CircleCI配置规范,出现全分支推送都触发任务的问题,通常由以下两种原因导致:

1. 主分支命名不匹配

目前GitHub新建仓库的默认主分支名称为main而非master,如果你的仓库已经将主分支更名,当前配置的only: master无法匹配到实际主分支,会触发默认的全分支匹配规则。
解决方案:将过滤规则中的分支名替换为你实际使用的主分支名即可:

workflows:
  s3-sync:
    jobs:
      - build:
          filters:
            branches:
              only:
                - main # 替换为你的实际主分支名称

2. 未配置标签过滤规则

CircleCI的分支过滤和标签过滤是两套独立规则:仅配置branches.only只会限制分支推送的触发范围,不会影响标签推送的触发逻辑。如果你给非master分支打了标签并推送,即使分支不符合规则,标签推送事件依然会触发构建任务。
解决方案:补充标签过滤规则,禁止所有标签推送触发当前任务:

workflows:
  s3-sync:
    jobs:
      - build:
          filters:
            branches:
              only:
                - master
            tags:
              ignore: /.*/ # 忽略所有标签推送事件

配置修改完成后推送到对应分支即可生效,同时可确认CircleCI项目后台没有配置全局触发规则覆盖配置文件的设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:15:01