You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions中分组工作流,实现并行执行后启动后续工作流?

实现工作流并行执行后触发后续任务

要实现多个工作流并行跑完再启动下一个,用GitHub Actions的工作流调用和依赖配置就能搞定,步骤如下:

1. 先写好要并行跑的子工作流

把每个要并行执行的任务拆成独立的子工作流,比如两个构建任务:

子工作流1:构建组件A

# .github/workflows/build-a.yml
name: Build Component A

on:
  workflow_call:  # 打开被其他工作流调用的权限

jobs:
  build-a:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4
      - name: 构建组件A
        run: |
          echo "正在构建组件A..."
          # 这里替换成你的实际构建命令

子工作流2:构建组件B

# .github/workflows/build-b.yml
name: Build Component B

on:
  workflow_call:

jobs:
  build-b:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4
      - name: 构建组件B
        run: |
          echo "正在构建组件B..."
          # 替换成实际构建命令

2. 写主控工作流统筹并行和后续任务

主控工作流负责触发所有并行子工作流,等它们全部跑完再启动后续任务:

# .github/workflows/main-workflow.yml
name: 主工作流

on:
  push:
    branches: [ main ]  # 可以改成你需要的触发条件,比如tag、pr等

jobs:
  # 并行启动两个构建任务
  run-build-a:
    uses: ./.github/workflows/build-a.yml
  run-build-b:
    uses: ./.github/workflows/build-b.yml

  # 等前面两个并行任务都完成后,再跑后续任务
  post-build-process:
    runs-on: ubuntu-latest
    needs: [run-build-a, run-build-b]  # 这里指定依赖的并行任务
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4
      - name: 执行后续操作
        run: |
          echo "所有并行构建都完成了!开始执行后续任务..."
          # 替换成你的实际后续命令,比如打包、部署等

关键说明

  • needs是核心配置,它会让当前任务等待列表里的所有任务成功完成后才启动
  • 子工作流必须加workflow_call才能被主控工作流调用
  • 如果要加更多并行任务,直接在主控工作流里新增uses的任务,然后在needs里补上对应的任务名就行

内容的提问来源于stack exchange,提问作者Atageldi Soyenjov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 09:06:19