>我有一个项目/templates
,我想添加一个通用ci_settings.xml
,为maven
命令设置一些默认值。
然后,我想在另一个项目中重用此模板:
.gitlab_ci.yml
:
image: maven:3.8.4-eclipse-temurin-11
include:
project: 'all/templates'
ref: master
file:
- 'ci_settings.xml'
deploy:
stage: deploy
script: mvn deploy -s ci_settings.xml
结果:
Found errors in your .gitlab-ci.yml:
Included file `ci_settings.xml` does not have YAML extension!
如果不是通过include
,我如何实际使用这个外部文件?
您只能将include
用于 yml 文件。但是,您可以通过CI_JOB_TOKEN
克隆管道中的/templates
项目,并以这种方式使用它。由于此处不需要提交历史记录,因此可以将深度设置为 1。
image: maven:3.8.4-eclipse-temurin-11
deploy:
stage: deploy
script:
- git clone --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@your_path_to_templates_project.git templates
- mvn deploy -s templates/ci_settings.xml