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

如何在Build and deploy流程配置条件实现仅master分支触发部署

单YML流水线限制仅master分支执行部署的配置方法

你只需要给部署环节单独增加分支校验规则即可,原有构建环节的配置无需改动,会在所有触发流水线的分支上正常运行,只有部署环节会在分支校验通过后才执行。

不同CI平台的具体配置写法

GitHub Actions

在部署job层级添加if条件,判断当前触发分支是否为master即可:

name: Build & Deploy
on: push

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      # 原有构建逻辑保持不变
      - run: npm ci
      - run: npm run build

  deploy:
    needs: build
    runs-on: ubuntu-latest
    # 核心条件:仅master分支触发时执行当前job
    if: github.ref == 'refs/heads/master'
    steps:
      # 原有部署逻辑保持不变
      - run: echo "执行部署操作"

GitLab CI

可以通过rules字段给部署job添加分支匹配规则:

stages:
  - build
  - deploy

build:
  stage: build
  script:
    # 原有构建逻辑保持不变
    - npm ci
    - npm run build

deploy:
  stage: deploy
  script:
    # 原有部署逻辑保持不变
    - echo "执行部署操作"
  # 核心规则:仅master分支执行当前job
  rules:
    - if: $CI_COMMIT_BRANCH == "master"

其他基于YML的CI/CD工具(如Jenkins声明式流水线、Gitea Actions等)

逻辑完全一致:找到部署步骤的配置块,添加分支判断条件,校验当前流水线触发分支为master时才允许执行部署块内的逻辑。

注意:如果你的流水线会在Pull Request/合并请求事件时触发,需要将判断条件调整为校验PR的目标分支为master,避免非master分支提交的PR误触发部署流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 00:57:55