跳到主要内容

手动触发流水线

本文档介绍如何通过 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/ 文件,并以该版本执行。