GitLab CI是否支持在被引用的include文件内嵌套引入其他配置文件?
GitLab CI include嵌套引用支持说明
GitLab CI完全支持include的嵌套引用,你给出的示例写法可以正常生效。
核心规则说明
- 嵌套层数限制:默认最多支持100层嵌套,完全覆盖绝大多数工程的CI配置拆分需求
- 路径解析规则:嵌套include中使用的相对路径,以当前配置文件所在的目录为基准解析,而非根目录的
.gitlab-ci.yml路径。比如A.yml存放在项目的/ci目录下,和B.yml同目录,那么A.yml中直接写- 'B.yml'即可正确引用,不需要额外加/ci前缀 - 禁止循环引用:如果出现A引用B、B又反向引用A,或者更长的循环引用链路,CI配置校验会直接报错,流水线无法正常触发
- 配置合并规则:所有嵌套引入的配置最终会合并为一份完整的CI配置,同key的配置遵循后加载覆盖先加载的规则
示例写法验证
你给出的配置完全符合语法规范,参考如下:
# A.yml 文件内容 include: - 'B.yml'
# .gitlab-ci.yml 文件内容 include: - 'A.yml'
只要不存在循环引用,且B.yml路径符合A.yml的相对路径规则,该配置可以正常运行。
内容的提问来源于stack exchange,提问作者Ait Zaid
相关产品推荐
相关产品推荐

