返回
创建于
状态公开
在 GitHub Actions 中,手动触发工作流(workflow)通常是通过 workflow_dispatch 事件来实现的。这种方式允许你从 GitHub 网站上直接点击按钮来手动触发工作流。以下是设置和使用 workflow_dispatch 事件的步骤。
1. 在工作流文件中添加 workflow_dispatch
首先,确保你的 GitHub Actions 工作流文件(通常是 .github/workflows/ 目录下的 .yml 文件)中定义了 workflow_dispatch 事件。例如:
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. 手动触发工作流
完成上述配置后,你可以通过以下步骤手动触发工作流:
- 进入 GitHub 仓库的页面。
- 点击 Actions 选项卡,这会列出该仓库中的所有工作流。
- 在页面的左侧,会看到所有配置的工作流列表,找到你想要手动触发的工作流。
- 点击该工作流的名称,进入到该工作流的详情页面。
- 在页面右上方,你会看到一个 Run workflow 按钮(如果你有触发该工作流的权限)。点击按钮后,工作流就会被触发。
3. 可选:传递输入参数
如果你希望在手动触发工作流时传递一些输入参数,可以在 workflow_dispatch 下使用 inputs 来定义输入字段。如下所示:
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 自动执行一些任务,比如部署、构建或运行测试等。