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

GitHub Actions如何配置Build成功且prod分支触发Deploy工作流

GitHub Actions Deploy工作流双条件触发配置方法

你可以通过workflow_run触发事件搭配作业级条件判断实现需求,具体配置逻辑如下:

  • 首先将Deploy工作流的触发事件设置为监听Build工作流的完成事件
  • 在部署作业上添加条件校验,同时满足「Build执行成功」「代码所处分支为prod」两个要求时才运行后续步骤

完整配置示例:

name: Deploy

on:
  workflow_run:
    workflows: ["Build"] # 此处填写要监听的工作流名称,需和Build工作流配置里的name字段完全一致
    types: [completed] # 监听Build工作流执行完成的节点

jobs:
  deploy:
    runs-on: ubuntu-latest
    # 核心判断条件:Build执行结果为成功 + 触发Build运行的分支是prod
    if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'prod' }}
    steps:
      - name: 拉取对应版本代码
        uses: actions/checkout@v4
        with:
          ref: ${{ github.event.workflow_run.head_sha }} # 拉取Build成功时对应的commit代码,避免分支代码版本不一致
      # 下方补充你实际需要的部署步骤即可

避坑提示:不要直接在workflow_run配置块下添加branches: [prod]规则,该规则的匹配逻辑是「Deploy工作流文件本身存在于prod分支时才启用监听」,不会校验Build工作流的实际运行分支,会导致非prod分支的Build成功时误触发Deploy,分支判断必须写在job的if条件中才生效。

内容的提问来源于stack exchange,提问作者karkir subu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 00:54:40