2012-04-25 44 views
11

我在Jenkins中建立了一个大型的Maven多模块构建版本。它被设置为增量构建。如何在Subversion的多模块Maven构建中触发Jenkins构建单个模块?

当它被触发时,它解析所有的POM并计算出它需要构建的东西。

它目前设置为触发SCM更改。

我想就这个版本,这样我可以做到以下几点:

  • 仍可以手动启动它。当我这样做时,它的增量构建行为就像今天一样运行。
  • 从Subversion提交钩子触发构建。我想知道如果我通过excellent instructions设置提交钩子的麻烦,它不会导致构建花费不必要的时间来轮询SCM或做其他不必要的工作,提交钩告诉它已经发生了什么变化。

我提到了第二点,因为从我查看文档看,这似乎只是简单地戳一般构建并让它执行它的功能。 (我可能是错的。)我宁愿让Jenkins知道Jenkins究竟发生了什么变化,并让Jenkins“知道”那些更改后的存储库路径映射到的模块,这样Jenkins就不必进行轮询或额外的pom.xml解析来解决它。

我已经准备好让已经通过这场战争的人告诉我,看,只要设置Subversion提交钩子,就像你将要得到的那样好,但是我问这个问题如果有更好的食谱。

回答

4

此工具does not yet apparently exist in Jenkins在使用Maven 3构建时。

+0

您可以尝试打开项目并从左侧菜单中选择模块,但它不会构建该模块的整个树。所以它没用。 – Xdg 2016-04-13 06:46:43

1

你有没有试过增量编译 - 只有建立更改的模块选项构建项目配置部分?在这种情况下,存储库将通知Jenkins提交的更改,SCM插件将检出文件,Maven插件将尝试来猜测哪些模块需要重建。它在大多数情况下适用于我的环境,虽然它不是100%的证据。

+0

谢谢;是;我广泛使用它。不幸的是,这不是一回事。 – 2012-05-07 15:25:09

+0

那么,这是目前唯一的事情。您可以在多模块项目中始终访问右侧导航菜单中名为_Modules_的部分,并且可以尝试重新运行任何模块。但在我的情况 - 即使这并不是每次都有效... – 2012-05-07 16:52:44