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

如何配置CI/CD工作流,仅在PR合并到master时触发部署?

调整GitHub CI/CD工作流以满足PR检查与合并后部署需求

当前工作流代码

我创建了一个名为ci-cd的工作流,代码如下:

name: WORKFLOW CONTROLLER [CI/CD]

on: [workflow_dispatch, pull_request]

jobs:
  linters:
    uses: ./.github/workflows/linters.yml
  deploy:
    needs: linters
    uses: ./.github/workflows/githubpages.yml

需求说明

  • 当有pull_request打开时,自动运行linters进行检查,检查通过后允许将PR合并到master分支
  • 当PR合并到master分支时,自动触发github pages部署工作流

调整后的工作流配置

要实现需求,需对触发条件和作业执行逻辑做如下修改:

name: WORKFLOW CONTROLLER [CI/CD]

on:
  workflow_dispatch:
  pull_request:
    branches: [master]
    types: [opened, synchronize, reopened]
  push:
    branches: [master]

jobs:
  linters:
    if: github.event_name == 'pull_request'
    uses: ./.github/workflows/linters.yml
  deploy:
    if: github.event_name == 'push'
    uses: ./.github/workflows/githubpages.yml

关键调整说明

  • 扩展触发事件:新增push事件监听master分支,捕获PR合并后的推送动作
  • 作业条件控制:
    • 给linters作业添加条件,仅在pull_request事件时执行,避免部署阶段重复运行检查
    • 给deploy作业添加条件,仅在push事件时执行,无需依赖linters作业(PR合并前已完成检查)
  • PR合并保护设置:在GitHub仓库的分支保护规则中,配置master分支要求linters作业通过才能合并,确保PR必须通过lint检查后才能合并到master分支

内容的提问来源于stack exchange,提问作者THIAGO DE BONIS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 06:17:06