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

GitLab CI如何排除分支?配置除test外执行构建部署阶段的问询

GitLab CI 配置实现指定分支运行阶段

要让build-to-dev和deploy-to-dev阶段在除test分支外的所有分支(包括main、各类release分支)上运行,你可以通过GitLab CI的rules规则来实现,以下是具体配置示例:

stages:
  - build-to-dev
  - deploy-to-dev

build-to-dev:
  stage: build-to-dev
  script:
    - echo "执行开发环境构建操作"
    # 替换为你的实际构建命令,例如 npm run build、mvn clean package 等
  rules:
    - if: '$CI_COMMIT_BRANCH != "test"'
      when: always

deploy-to-dev:
  stage: deploy-to-dev
  script:
    - echo "执行开发环境部署操作"
    # 替换为你的实际部署命令,例如 scp 部署包到服务器、调用部署API等
  rules:
    - if: '$CI_COMMIT_BRANCH != "test"'
      when: always

关键配置说明

  • stages:定义流水线的阶段顺序,确保先执行构建再执行部署。
  • rules:通过GitLab内置环境变量$CI_COMMIT_BRANCH判断当前分支,当分支不等于test时触发对应的job。
  • when: always:满足条件时强制执行该job,不受前面job执行结果影响;如果需要依赖前序job成功才能执行,可改为when: on_success。

如果需要更精准地指定允许运行的分支(比如仅main、release/*分支,同时排除test),可以调整rules为:

rules:
  - if: '$CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH =~ /^release\/.*/'
    when: always

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 11:27:26