如何在大型多模块项目上构建增量Jenkins Maven

时间:2018-11-11 08:16:57

标签: maven jenkins incremental-build

我有一个大型的多模块项目,从Jenkins的干净构建大约需要一个小时。

我正在对多模块项目中的所有模块版本使用$ {revision}进行Maven CI友好版本控制,并且我从Jenkins传递了-Drevision = $ {BUILD_NUMBER}之类的信息。

这很好用,但是在跨20个团队部署时效率很低,并且为每个Pull Request都构建了新版本。每次单行代码更改,谁愿意等待一个小时?!?

如何在我的项目结构中使用增量构建?

“增量构建”复选框的明显问题是,当我构建更改后的模块(例如版本5)时,它们都将同样依赖于版本5不变的模块,但实际上构建的最后一个版本可能是1, 2,3或4。

因此,整个多模块项目中的$ {revision}将破坏增量构建

我的另一个问题是我正在使用多个从属设备,这意味着我不能简单地依赖自上次构建以来未更改的文件系统(相同的Maven Local Repo,相同的工作树等)。

为了在不同从站上的构建之间共享不变的工件,我不得不使用Maven Repo(例如Nexus),或者通过SSH进行某种文件复制(例如,每个构建都传输回Master,然后向下传输奴隶)

0 个答案:

没有答案