返回
创建于
状态公开

在 GitHub Actions 中,手动触发工作流(workflow)通常是通过 workflow_dispatch 事件来实现的。这种方式允许你从 GitHub 网站上直接点击按钮来手动触发工作流。以下是设置和使用 workflow_dispatch 事件的步骤。

1. 在工作流文件中添加 workflow_dispatch

首先,确保你的 GitHub Actions 工作流文件(通常是 .github/workflows/ 目录下的 .yml 文件)中定义了 workflow_dispatch 事件。例如:

yaml
1name: Manual Trigger Workflow
2
3on:
4  workflow_dispatch:   # 使工作流可以手动触发
5
6jobs:
7  build:
8    runs-on: ubuntu-latest
9
10    steps:
11      - name: Checkout code
12        uses: actions/checkout@v2
13
14      - name: Set up Node.js
15        uses: actions/setup-node@v2
16        with:
17          node-version: '14'
18
19      - name: Run tests
20        run: npm test

在这个例子中,on: workflow_dispatch 表示该工作流可以手动触发。你可以根据自己的需求自定义工作流内容。

2. 手动触发工作流

完成上述配置后,你可以通过以下步骤手动触发工作流:

  1. 进入 GitHub 仓库的页面
  2. 点击 Actions 选项卡,这会列出该仓库中的所有工作流。
  3. 在页面的左侧,会看到所有配置的工作流列表,找到你想要手动触发的工作流。
  4. 点击该工作流的名称,进入到该工作流的详情页面。
  5. 在页面右上方,你会看到一个 Run workflow 按钮(如果你有触发该工作流的权限)。点击按钮后,工作流就会被触发。

3. 可选:传递输入参数

如果你希望在手动触发工作流时传递一些输入参数,可以在 workflow_dispatch 下使用 inputs 来定义输入字段。如下所示:

yaml
1name: Manual Trigger Workflow with Inputs
2
3on:
4  workflow_dispatch:
5    inputs:
6      username:
7        description: 'Your GitHub username'
8        required: true
9        default: 'octocat'
10      environment:
11        description: 'Target environment'
12        required: true
13        default: 'staging'
14
15jobs:
16  build:
17    runs-on: ubuntu-latest
18
19    steps:
20      - name: Checkout code
21        uses: actions/checkout@v2
22
23      - name: Display inputs
24        run: |
25          echo "Username: ${{ github.event.inputs.username }}"
26          echo "Environment: ${{ github.event.inputs.environment }}"

在手动触发时,GitHub 会弹出一个对话框,要求你输入这些字段的值。

4. 触发后查看结果

一旦手动触发了工作流,工作流会按预定步骤执行。你可以通过点击 Actions 页面中的工作流记录来查看运行日志,确保任务按预期完成。

这种方法使得你可以在没有提交代码的情况下,也能通过 GitHub Actions 自动执行一些任务,比如部署、构建或运行测试等。