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
相关产品推荐
相关产品推荐

