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

如何限制GitHub Actions的workflow dispatch仅在main分支运行?

限制GitHub Actions Workflow Dispatch仅在main分支运行的解决方案

你使用的on.workflow_dispatch.branches配置仅限制触发工作流的分支来源,无法阻止手动触发时选择其他分支执行。要实现强制限制,需在工作流中添加分支校验步骤,非main分支直接终止流程:

在工作流的任务开头加入以下校验步骤:

jobs:
  你的任务名称:
    runs-on: ubuntu-latest
    steps:
      - name: 校验分支是否为main
        if: github.ref != 'refs/heads/main'
        run: |
          echo "该发布任务仅允许在main分支运行"
          exit 1
      # 这里放置你原有的其他步骤,比如代码拉取、构建发布等

原理说明

github.ref是GitHub Actions的内置变量,会返回当前运行工作流的分支引用(例如refs/heads/main或refs/heads/test)。通过if条件判断,若检测到分支不是main,则执行exit 1终止工作流,彻底阻止后续步骤执行。

这样即使手动触发时选择了其他分支,工作流也会直接失败,达到强制限制的目的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 06:48:10