从子模块使用 Gitlab CI
Using Gitlab CI from a submodule
我正在尝试“相互化”我的 CI。
我有很多项目用的基本一样gitlab-ci.yml
.
我正在考虑创建一个 git 子模块,其中包含我所有项目都在使用的 gitlab-ci.yml
,我可以在其中注入 env 变量以使其通用,以便我可以重新使用它在我未来的项目中。
我的问题是我没有看到任何关于此的文档,所以我想知道:
可能吗?如果是,我如何告诉 gitlab 使用此子模块内部的 gitlab-ci.yml
?
如果这是个坏主意,您知道正确的做法吗?
谢谢!
您正在寻找的是 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 个文件中的任何位置被覆盖。这带来了您需要的通用性。
我正在尝试“相互化”我的 CI。
我有很多项目用的基本一样gitlab-ci.yml
.
我正在考虑创建一个 git 子模块,其中包含我所有项目都在使用的 gitlab-ci.yml
,我可以在其中注入 env 变量以使其通用,以便我可以重新使用它在我未来的项目中。
我的问题是我没有看到任何关于此的文档,所以我想知道:
可能吗?如果是,我如何告诉 gitlab 使用此子模块内部的
gitlab-ci.yml
?如果这是个坏主意,您知道正确的做法吗?
谢谢!
您正在寻找的是 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 个文件中的任何位置被覆盖。这带来了您需要的通用性。