我目前的印象是,使用Hudson(或Jenkins)对Maven 3多模块项目 well 进行CI是不可能的。
情况似乎是您有2个与Hudson构建多模块Maven 3项目的现实选择:
自由式项目也可以构建Maven项目,并且使用增量/递归选项,它显然应该能够处理仅构建完整项目树的必要子树。
遗留的,严重弃用的,有很多警告,Maven2 / 3遗留版本。
使用第一个选项存在明显的缺点,即您的整个项目看起来像Hudson中的一个大blob,没有单个子项目的可见性,并且没有选项来构建单个子项目及其依赖项。
使用第二个选项,您必须基本上吞下很少的信念,引发关于遗产的警告,并且不要使用"为了找出答案,它将构建您的多模块项目,但触发子项目构建的功能完全被破坏,并且无意修复此问题。
我能想到的唯一选择是恢复Maven 2以在服务器上构建,在这种情况下,遗留插件似乎可以工作,甚至可以触发单个子项目构建。但后来我被困在Maven 2上。
我发现我的要求相当保守,但我完全被哈德森/詹金斯缺乏Maven支持所困扰。这就是我的期望:
有问题的Maven项目包含大约84个Maven模块,这些模块采用多模块配置,具有公共父级和拆分为不同的子系统。我们正在使用Hudson 3.1.0。
我有机会实现这个目标吗?
答案 0 :(得分:1)
是的,使用当前的Maven 2/3项目类型井是不可能的。
我已经使用矩阵/多配置项目类型做得足够好,并手动添加“模块”轴。矩阵作业的配置很麻烦,您必须记住在添加,删除或重命名模块时更新轴。但是一旦配置完成,此解决方案适用于构建。您可以单独查看每个模块的构建和测试结果,也可以在矩阵作业下集成。
答案 1 :(得分:0)