我是 Jenkins 的新手,我不知道处理多个 Maven 模块的最佳做法是什么。 我的项目由 5 个不同的 Maven 项目组成。该项目之一是构建其余项目的 Maven 父项目。这 5 个 Maven 项目中的每一个都位于单独的 GIT 存储库中。
我应该为每个 GIT 存储库分配一份工作,还是可以用不同的方式配置它?
最佳答案
我的最佳实践是,您应该将所有项目放在一个 GIT 存储库中,并一起发布,因为您在 GIT 中标记并分支了整个存储库。如果项目有另一个发布周期,请将其放在另一个存储库中。
例子:
您有 5 个项目 A、B、C、D 和 E。A、B 和 C 是代表您应用程序架构中的一个级别的示例项目。 D 和 E 是辅助库,它们会偶尔更改,但不会随着应用程序的每次发布而更改。 (例如,额外的 GUI 元素,...)
在这种情况下,我将使用三个存储库:
第一个 repo :
Parentpom for A, B, C
A as module of ParentPom
B
C
第二个 repo :
D
第三个 repo :
E
您还可以在启动项目和所有 Maven 项目时开始将所有项目放在一个存储库中,即使库会定期更改,然后在您注意到您没有发布某些项目时稍后“重构”您的存储库结构和其他人一起。
您的 Jenkins 作业结构将与您的存储库相同,例如当你有三个 repos 作为我的例子时,你有三个 Jenkins 作业(每个用于每个存储库中的根 pom)
关于java - Jenkins 作业和 GIT/maven 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20632181/