如何限制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
相关产品推荐
相关产品推荐

