跳到主要内容

手动触发流水线

本文档介绍如何通过 workflow_dispatch 事件在 AtomGit 界面上手动触发工作流并传递输入参数。

当你需要在非自动触发场景下主动执行流水线——例如调试某分支、验证临时参数、发布特定版本——可通过 workflow_dispatch 事件手动触发。

配置说明

定义 workflow_dispatch workflow

.gitcode/workflows/ 目录下创建或编辑 workflow 文件,添加 workflow_dispatch 触发事件:

# .gitcode/workflows/manual-deploy.yml
name: Manual Deploy

on:
workflow_dispatch:
inputs:
environment:
description: '部署目标环境'
required: true
default: 'staging'
type: string
version:
description: "发布版本号"
type: string
required: false
default: "1.0.0"
deploy_count:
description: '并行部署数量'
type: string
required: false
default: "1"
dry_run:
description: '是否仅验证不部署'
type: string
required: false
default: "false"

stages:
validate:
name: 验证
jobs:
Check:
name: check-version
runs-on: [ubuntu-latest, x64, small]
steps:
- name: Run deploy
run: echo "Deploy version ${{ inputs.version }} to ${{ inputs.environment }}"
- name: Run dry
run: echo "Dry run mode = ${{ inputs.dry-run }}"

inputs 字段类型详解

字段说明示例值
typeinputs类型string , boolean, choice , number
required是否必填true, false
description描述env_type, port_number
default默认值true, false
options单选项,仅适用于 choice类型info, warning, error

AtomGit Action 的 inputs 支持 string , boolean ,choice , number 类型。

type说明示例值
string字符串输入test, prod, dev
boolean布尔值输入true, false
choice单选输入,通过options字段配置选项info, warning, error
number数字输入8080, 50

触发操作

  1. 进入项目 Actions 标签页。
  2. 左侧选择目标 workflow 名称。
  3. 右侧点击 Run workflow 按钮。
  4. 弹出表单,选择或填写各 inputs 参数,并选择目标分支。
  5. 点击 Run 提交触发。

注意:只有 on 中包含 workflow_dispatch 的 workflow 才会显示 Run workflow 按钮。

在 workflow 中引用 inputs

steps:
- run: echo "Environment = ${{ inputs.environment }}"
- run: echo "Version = ${{ inputs.version }}"
- if: ${{ inputs.dry-run == 'true' }}
run: echo "This is a dry run"

inputs 上下文仅在 workflow_dispatch 触发的运行中可用,其他触发事件下引用 inputs 会报错。

常见问题

Q:Action页面对应 workflow没有运行按钮?

A:workflow 的 on 字段未包含 workflow_dispatch 事件,请修改 .gitcode/workflows/{file}.yml 添加该触发类型。

Q:Action页面没有对应 workflow?

A:workflow 的 on 字段仅有 workflow_dispatch 事件时,yml文件需要在默认分支下才会生成对应workflow。

Q:workflow_dispatch 能否与其他触发事件共存?

A:可以。on 字段支持多事件并列:

on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
inputs:
environment:
type: string

Q:手动触发时如何指定分支?

A:触发表单中有分支选择下拉框,默认为仓库默认分支,可切换为任意分支。切换分支需要该分支上的 存在.gitcode/workflows/ 文件,并以该版本执行。