首页/开发/CI/CD 与发布速查/GitHub Actions 手动触发
工具链要点63 条

GitHub Actions 手动触发

为工作流提供手动运行入口:声明输入参数(字符串、布尔、选项、环境),通过界面、API 或 CLI 触发,适合补跑与受控发布。

CI/CD 与发布速查开发更新于 2026-10-13

手动触发是什么

为工作流提供手动运行入口:声明输入参数——字符串、布尔、选项、环境;通过界面、API 或 CLI 触发,适合补跑与受控发布。手动入口配合环境保护规则使用:默认值与审批配置共同约束误操作。权限由仓库权限控制,谁能触发、能传什么值都可以通过规则限制。

基本信息

声明on: workflow_dispatch.inputs
类型string、boolean、choice、environment
入口界面、REST API、gh CLI
权限由仓库权限控制
配合与环境保护规则、审批共同约束误操作

典型使用场景

  • 补跑失败任务:不改代码重跑指定作业
  • 受控发布:选择目标环境后走审批
  • 运维操作:按需执行巡检与修复脚本
  • 外部集成:外部系统经 API 触发工作流
  • 参数化:按选项限定可选的发布目标
  • 演练:手动模拟发布流程验证审批链路

带选项的手动发布

带选项的手动发布
on:
  workflow_dispatch:
    inputs:
      env:
        type: choice
        options: [staging, production]
        default: staging          # 保守默认值
      dry_run:
        type: boolean
        default: true
jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: ${{ inputs.env }}   # 与环境保护规则联动
    steps:
      - run: echo "deploy to ${{ inputs.env }}"
# CLI:gh workflow run deploy.yml -f env=staging

输入类型读法

类型用途注意
string自由文本下游校验后再使用
boolean开关默认值取保守项
choice固定选项限定可选目标
environment环境名与环境保护规则联动
默认值不填时的取值默认走向最安全侧
手动入口配合环境保护规则:默认值与审批配置共同约束误操作。
输入当作不可信数据:拼接命令前做校验,尤其目标是部署路径时。
补跑场景:手动触发指定分支与参数,先确认分支内容再运行。

权限与审计

  • 权限最小化:只让必要角色看到生产类入口
  • 审计留痕:触发记录与参数留在运行历史,按需检索
运行名带上关键输入:列表页一眼可辨,避免逐个点开确认。
并发控制去重:同一环境加并发组,避免同时跑多个人工触发。
输入默认值先核对:首次触发的预览按默认值执行,确认后再点运行。

易错点

  • 输入未校验直接拼接命令:注入与选错环境两类风险
  • 默认值偏向生产:手动触发的默认项应当保守
  • 手动入口绕过审批:没配环境保护时任何有写权限的人都能触发,按需补规则
  • 复跑不知道当时参数:把关键输入写进运行名或日志,事后可追溯
  • 分支与定义不一致:手动运行使用所选分支里的工作流定义,入口改动未合入该分支就看不到

数据来源与参考

  • GitHub Docs《Manually running a workflow》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌