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

如何配置GitHub Actions实现分支创建与推送事件的互斥触发?

解决方案

完全可行,只需在push事件的配置中添加事件级别的条件过滤,排除分支创建时触发的push事件即可。修改后的Workflow配置如下:

on:
  push:
    branches: '**'
    # 仅当不是创建分支的推送操作时触发
    if: ${{ github.event.created != true }}
  create:
    branches: 'release/[0-9]+.[0-9]+'

逻辑说明

  • 当创建release/1.2这类分支时,GitHub会同时触发create和push事件,但push事件的if条件会过滤掉github.event.created = true的场景(即分支创建时的推送),因此只有create事件对应的流水线会启动。
  • 后续向已存在的release/1.2分支推送代码时,仅会触发push事件,此时github.event.created为false,满足push事件的条件,对应的流水线正常启动;而create事件不会被触发(仅在创建分支/标签时触发),自然不会启动对应的流水线。

这种方式是在Workflow的事件触发层面直接控制,完全不需要在Job层面设置条件,符合你的需求。

内容的提问来源于stack exchange,提问作者Itzhak Eretz Kdosha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 02:33:12