首页 > 解决方案 > 从子模块中使用 Gitlab CI

问题描述

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

我有很多使用基本相同的项目gitlab-ci.yml

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

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

谢谢 !

标签: gitlabcontinuous-integrationgit-submodules

解决方案


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

include 您可以在此处查看文档。

例子 :

# .gitlab.ci.yml

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

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


推荐阅读