java - Jenkins 作业和 GIT/maven 结构

标签 java git maven jakarta-ee jenkins

我是 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/

相关文章:

git - 如何删除 Git 中的重复文件跟踪

java - 使用 maven 创建 JVM 时出错

java - 预检响应具有 oauth/token 的无效 HTTP 状态代码 401

java - 如何创建一个简单的json结果集?

java - 具有有界泛型接口(interface)的泛型接口(interface)

java - LWJGL 无法正确渲染纹理?

php - 通过 composer 从私有(private) Bitbucket 存储库导入包

git undo commit 在 protected 分支上?

maven - 如果任何人都可以创建和上传任何 key ,那么 maven 的 OpenPGP 签名有什么意义?

maven - tomcat 7 maven 插件快照存储库问题?