Mar*_*rer 21 git maven jenkins
我有一个Git存储库,其中包含一堆顶级maven项目(每个项目都位于他们自己的子目录中,并带有一个pom.xml).这里的顶级意味着这些项目位于存储库根目录下的子目录中.所有这些项目都应保留在同一个Git存储库中.
repo
+--- projectA
+--- pom.xml
+--- projectB
+--- pom.xml
Run Code Online (Sandbox Code Playgroud)
他们可以/应该由独立的詹金斯工作建立.所以我们有一个projectA的工作和一个projectB的工作.
以前使用Subversion,我能够设置一个Jenkins作业(对于每个项目),它只检查项目源并从pom.xml运行Maven构建.
使用Git模型(可能与所有DVCS相同),这种变化,我不确定什么是最佳实践.我看到了一些选项,我不喜欢这些选项:
你有没有看到更有用的方法(非常典型的设置).你有什么经历?任何最佳做法?
我认为你在这里工作是违背常理的。如果这些项目作为版本化单元发布,您确实应该创建一个父 POM。但你可能应该只从事一项 CI 工作。如果您希望该构建快速进行,您可以将其配置为仅构建自上次构建以来已更改的模块(“构建”部分中的高级按钮 - “增量构建 - 仅构建更改的模块”)。您还可以告诉 Jenkins“如有必要,执行并发构建”以一次测试多个提交。
但我很好奇你为什么想要多个 CI 工作?如果您认为这两个项目具有不同的生命周期,也许它们应该单独进行版本控制,因此应该位于单独的 git 存储库中。不要保留 git 存储库,它们很便宜。事实上,几乎在任何情况下,越多越好。
通常,您希望给定的 pom 生成单个工件。聚合器 pom 可用于将较大工件的各个部分分解为子模块,但前提是这些子模块未自行发布。
| 归档时间: |
|
| 查看次数: |
11942 次 |
| 最近记录: |