是否有可能有一个共同的.gitlab-ci.yml,而不是在每个项目中重复对.gitlab-ci.yml的更改?

目前我们在每个项目中都放了一个.gitlab-ci.yml文件。 目前我们有超过50个项目,每次改变.gitlab-ci.yml,团队都要改变所有项目的结构。 有没有可能有一个共同的.gitlab-ci.yml?

尝试

  1. 试图有一个gitlab-ci.yml,但不知道如何改变这个文件的默认path
  2. 常见的脚本减less了代码重复的数量,但是如果gitlab-ci.yml结构发生变化,我们必须在所有项目中实现它

不,这是不可能的。 它不符合为什么这个方法存在的想法,因为如果你添加一个git repo /项目需要一个完全不同的yml文件?

你可以做什么(正如你所提到的)有一个你运行的脚本,它是在.gitlab-ci.yml运行过程中下载的。 像这样的东西:

 stages: - prep - run get_script: stage: prep script: - wget http://my_local_script.lan/run_suite.sh -O /tmp/run_suite.sh run_script: stage: run script: - bash /tmp/run_suite.sh 

将其设置为每个项目的脚本,然后只需更新run_suite.sh,所有新项目都将使用它。

恐怕没有比这更好的办法了。

如果我想要一个全局CIconfiguration,我会去系统挂钩。

当然,你会失去一些(意义上所有的)Gitlab CI的很酷的function