用于多项目Git回购的CI / CD

时间:2019-11-21 09:01:59

标签: git continuous-integration gitlab-ci

我有一个主要的Git回购,它映射了几个子项目和Git子模块。 这些子项目中的每个子项目都由我的主要git项目提供服务,该项目包含一个docker-compose以及每个子项目的容器。

示例:

Main 
| docker-compose.yml
| projects
  | Sub-project A (git submodule)
  | Sub-project B (git submodule)
  | Sub-project C (git submodule)

实际的代码存储在每个子项目中,如上所述,它们映射为git子模块。

我希望我的CI / CD(构建容器,测试和部署)在那些子模块之一发生更改的情况下运行。 例如,如果我向子项目A添加了新功能,则我想重建其docker映像并将其部署到服务器。

最佳做法是什么?是否可以通过更改子模块来触发CI / CD?触发器是否应该来自此Project CI / CD或子模块?

下面的问题-

我正在使用Gitlab-ci,这是用某些不同语言编写的项目(docker容器会针对每个项目进行调整)。

由于主要项目目的是为这些子模块提供服务,因此必须将其包含在流程中。

0 个答案:

没有答案