管理多模块项目
Posted
技术标签:
【中文标题】管理多模块项目【英文标题】:Manage multi module project 【发布时间】:2019-11-24 21:52:21 【问题描述】:当前设置:
-
马文
春季启动
角度
12个maven项目+1个Pom项目
吉特
詹金
目前我有单独的 13 个项目。 每次如果我必须在另一台机器上进行设置,那么我必须单独克隆每个项目。 我还为自动构建做了 Jenkins 管道设置。
寻找
一旦我克隆了单个 pom/main 项目,所有其他项目都应该被克隆 如果我拉取主项目,那么所有其他项目的代码都应该更新
每次我启动 jenkin 时,子项目都应该得到 head revision 构建。
希望为每个子项目保留单独的 repo,以便在其他项目中重复使用,因为我有多个需求。
我想到的解决方案:
-
Maven 子项目
Git 子模块
上述解决方案面临的问题
1. Maven Child projects
--> If we are using maven child projects then we are literally copying the sub projects in pom/main project.
In this case i cannot reuse the project. Every time i have to clone the project to use it.
For big project with number of team member working, merging issue will come.
2. Git Sub modules
--> This is best solution for me but when we create sub module it always point to commit not the head revision.
Every time i have to manually pull the latest code push it to parent project.
This approach we can not use in Jenkins.
是否有可以解决所有问题的最佳方法。
【问题讨论】:
我不明白你反对 Maven 多模块方法的任何观点。 ***.com/questions/53456841/… 帖子也对 SO 进行了同样的解释。 【参考方案1】:您可以通过指定要从其他存储库添加的模块来添加 git 子模块。将在根目录上创建一个 .gitmodules
文件,其中包含所有子模块的列表和您的其他首选项。
Creating git submodules for projects in different repositories
您可以使用一组命令来同步 git 模块及其所有子模块。
您可以采取的步骤如下:
-
使用
git submodule add [ssh or https path]
添加项目中的所有子模块,例如git submodule add https://github.com/test
添加其他子模块并推送更改
通过运行获取子模块内容
git submodule init
git submodule update
或者也可以运行git clone --recurse-submodules https://github.com/chaconinc/MainProject
来获取子模块
我建议您通读this 链接并确保您的要求得到满足。
【讨论】:
我已经试过了。但每次我必须更新每个子模块 我认为您必须花一些时间阅读相同的内容并进行更多探索。无论如何***.com/questions/1030169/… 对此有所帮助。以上是关于管理多模块项目的主要内容,如果未能解决你的问题,请参考以下文章