2014-01-14 65 views
0

这是我现在的感觉就是不可能使用哈德森(或詹金斯)一个Maven 3多模块项目以及做CI。如何与Hudson持续集成Maven 3多模块项目?

的情况似乎是,你必须建立一个多模块的Maven 3项目哈德森的2点现实的选择:

  1. 自由泳项目也可以建立Maven项目,并与增量/递归选项它显然应该能够处理仅构建完整项目树的必要子树。

  2. 遗产,severly过时了,有很多的警告,在Maven2/3遗留构建。

随着第一个选项存在显著的缺点,你的整个项目看起来像哈德森一个大斑点,有对各个子项目没有知名度,没有建立各个子项目及其dependees别无选择。

第二个选项,你必须基本上忍受非常小的信念,诱导有关遗留的警告和“不要使用”,以找出是的,它会建立你的多模块项目,但触发子项目的功能是完全破碎,并没有打算解决这个问题。

我能想出的唯一办法是恢复的Maven 2构建的服务器上,在这种情况下,传统的插件似乎工作,甚至个别子项目构建可以被触发。但后来我卡上的Maven 2.

我发现我的要求是相当保守的,但我完全被缺乏哈德森/詹金斯Maven支持陷入困境。这是我所期望的:承认多模块项目,并使用Maven 3

  • 能力,有“增量”打造他们

    • 能力建立这样一个多模块项目(即只改变模块及其dependees )
    • 看多模块项目,哪些子模块的当前状态的能力已经失败/成功/不稳定

    有问题的Maven项目由大约84 Maven的模块,多模块配置一个共同的父母和一个不同的分裂nt子系统。我们使用Hudson 3.1.0。

    我有这个机会吗?

  • +1

    你正在运行什么版本的Jenkins/Hudson? –

    +0

    我们使用Hudson 3.1.0,并将其添加到帖子中。 –

    回答

    1

    是的,这是不可能的well与当前的Maven 2/3项目类型。

    我已经完成了已经足够好了使用矩阵/多配置项目类型,并手动添加“模块”轴。矩阵工作的配置是一种痛苦,你必须记住在你添加,删除或重命名模块时更新轴。但是一旦配置完成,这个解决方案就很适合构建。您可以单独查看每个模块的构建和测试结果,也可以在矩阵作业下进行集成。

    +0

    感谢您确认我的理智。 :)做模块的手动配置是我希望能够防止的。你知道任何工具来生成相关的配置吗? –

    +0

    不,我也不知道其他人谁做了这个,所以可能没有这样的工具。您可以创建一个为您创建或更新矩阵作业的作业,并快速查看[API](http://javadoc.jenkins-ci.org/hudson/matrix/package-summary.html)这是可能的,但我从来没有尝试过。我刚刚找到[DynamicAxis插件](https://wiki.jenkins-ci.org/display/JENKINS/DynamicAxis+Plugin);结合[参数化触发器插件](https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin)可能会更容易。 –