从子模块使用 Gitlab CI

Using Gitlab CI from a submodule

我正在尝试“相互化”我的 CI。

我有很多项目用的基本一样gitlab-ci.yml.

我正在考虑创建一个 git 子模块,其中包含我所有项目都在使用的 gitlab-ci.yml,我可以在其中注入 env 变量以使其通用,以便我可以重新使用它在我未来的项目中。

我的问题是我没有看到任何关于此的文档,所以我想知道:

谢谢!

您正在寻找的是 Gitlab CI 模板文件,可以在其他 .gitlab-ci.yml 文件中 include

您可以查看 include here 的文档。

示例:

# .gitlab.ci.yml

include:
  - 'https://gitlab.com/awesome-project/raw/main/.before-script-template.yml'
  - '/templates/.after-script-template.yml'

这包括 CI 个带有默认变量、阶段、工作流的文件,这些文件可以在其他 CI 个文件中的任何位置被覆盖。这带来了您需要的通用性。