GitLab CI能否设置全局分支运行规则?当前配置报错求助
GitLab CI 全局分支规则配置方法
直接在.gitlab-ci.yml顶层写rules是不被GitLab CI支持的,这就是你报错的原因。要实现全局规则,得用default块来定义,所有未单独配置rules的Job都会继承这个全局规则。
正确的配置示例如下:
default: rules: # 排除非目标分支的流水线运行 - if: '$CI_COMMIT_BRANCH != "some-custom-branch"' when: never # 明确允许目标分支触发流水线 - if: '$CI_COMMIT_BRANCH == "some-custom-branch"' when: always # 你的业务Job,自动继承全局规则 build: script: - npm run build test: script: - npm run test
注意要点:
- 必须补充允许目标分支运行的规则,只写排除规则会导致GitLab无法匹配到有效触发条件,流水线不会启动
- 如果某个Job需要突破全局规则(比如要在所有分支运行),直接在该Job内单独定义
rules即可覆盖全局配置:
notify-all-branches: script: - echo "This job runs on every branch" rules: - when: always
内容的提问来源于stack exchange,提问作者Milkncookiez
相关产品推荐
相关产品推荐

