如何配置GitHub Action:推送代码触发CI,推送标签不触发?
解决GitHub Actions CI流水线在标签推送时被触发的问题
问题核心是你之前的tags-ignore: '*'配置位置错误,且未配合分支规则明确触发范围,导致正常分支推送也被拦截。以下是两种可行的正确配置:
方案一:明确分支范围+忽略标签
在CI.yml中,将tags-ignore放在push事件的子配置下,同时指定需要监听的分支:
on: # 保留拉取请求的触发规则 pull_request: branches: [ "main" ] # 替换为你的实际分支,比如master、develop,也可用"*"匹配所有分支 # 配置推送事件:仅分支推送触发,忽略所有标签 push: branches: [ "main" ] # 支持多分支列表,比如["main", "develop"] tags-ignore: [ "*" ]
方案二:仅监听分支推送(更简洁)
GitHub Actions中,push.branches仅匹配分支推送,标签推送不属于分支推送范畴,因此可直接省略tags-ignore,只指定分支:
on: pull_request: push: branches: [ "*" ] # 匹配所有分支的推送,自动忽略标签推送
以上两种配置均可实现:
- 拉取请求提交时触发CI
- 普通分支代码推送时触发CI
- 推送版本标签时仅触发Release.yml,不会触发CI.yml
内容的提问来源于stack exchange,提问作者mu88
相关产品推荐
相关产品推荐

