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

如何限制手动触发的GitHub Action仅可在指定分支运行?

限制GitHub Action手动触发仅可运行在main分支的实现方案

可以在保留手动触发能力的前提下实现该需求,常用有两种实现方式:


方法1:在触发规则中直接限制分支

这是最简便的实现方案,配置完成后手动触发的分支选择框将仅展示main分支,从入口侧直接避免选择其他分支的可能。
配置示例如下:

---
name: DeployToProduction
on:
  workflow_dispatch:
    # 仅允许main分支触发当前工作流
    branches: [main]
jobs: 
  ...

方法2:在Job层增加分支判断

如果你需要更灵活的控制(比如同一个工作流中部分Job允许其他分支运行,生产部署Job仅允许main分支运行),可以给指定Job添加分支校验规则。就算用户选错了分支,不符合规则的Job也会直接跳过不会执行。
配置示例如下:

---
name: DeployToProduction
on:
  workflow_dispatch:
jobs: 
  deploy-to-prod:
    # 仅当触发分支为main时才执行该Job
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    steps:
      ...

如果是生产环境部署场景,建议两种方案搭配使用,再加一层GitHub仓库的环境保护规则限制,进一步降低误操作风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:39:03