【发布时间】:2019-11-13 02:35:45
【问题描述】:
我正在尝试设置一个动态 gitlab-ci 文件,其中包含基于项目变量所需的 gitlab-ci 文件。
不幸的是,我似乎无法让它工作,我已经阅读了文档并搜索了论坛,但不幸的是我找不到任何解决方案。
如何实现动态的gitlab-ci文件?
基本上我想做类似下面的 sn-p 的事情,但我注意到我不能在文件方法中使用变量(返回“无效配置:文件不存在”。)。
include:
- project: 'tools/gitlab-ci'
file: '/gitlab-ci-$GITLABFILE.yml'
only:
- $GITLABFILE
include:
- project: 'tools/gitlab-ci'
file: '/gitlab-ci.yml'
only:
- $GITLABFILE == null
由于我无法在文件方法中使用变量,我尝试了以下配置,但不幸的是它总是加载最后一个文件并忽略唯一的关键字。
include:
- project: 'tools/gitlab-ci'
file: '/gitlab-ci.yml'
except:
variables:
- $GITLABFILE
- project: 'tools/gitlab-ci'
file: '/gitlab-ci-legacy.yml'
only:
variables:
- $GITLABFILE == 'legacy'
- project: 'tools/gitlab-ci'
file: '/gitlab-ci-legacy-nobuild.yml'
only:
variables:
- $GITLABFILE == 'legacy-nobuild'
我希望单个 gitlab-ci 文件可以根据变量检索其他 gitlab-ci 文件。
希望有人可以帮助我或为我指明正确的方向。
【问题讨论】: