原文链接:http://wiki.hudson-ci.org/display/HUDSON/Building+a+maven2+project
Hudson提供一个专注于Maven2项目的Job类型。这种Job类型深度集成Maven2并提供 如下优于free-style software project Job类型的特性:
- Hudson从Maven POM中获取更多信息来辅助构建工作,这样就大大减少了Job的配置工作。
- Hudson监听Maven执行过程来决定如何处理Job。例如,Hudson会在Maven测试阶段自 动记录JUnit报告。如果你正在运行
目标 ,Hudson会自动记录javadoc。javadoc
因此你只需要为Job配置SCM信息和指定运行Maven项目的哪个目标就可以了,其它的 Hudson会帮你决定如何去做。
Maven版本
有人报告在Maven2.04版本使用这个特性会有问题。我们关心这样的报告。
这是一个类似的报告:使用Hudson1.337/Tomcat6.0.14/MSXP/Maven2.0.7会使 Hudson挂掉,但是命令行没问题,试试Maven2.0.4会解决这个问题
TODO
谈论Maven modules在子项目中的表现,还有构建编号在子项目中是如何控制的。带有截屏。
用模块依赖链 接自动构建
Hudson从你的POM模型中读取项目依赖,如果这个依赖已经是Hudson内的一个构建,那 么Hudson会自动的触发这个构建。Hudson能够识别POM内所用类型的依赖:
- 父级POM
- <dependencies>部分
- <extensions>部分
- <reporting>部分
这个处理过程取决于版本和账户,因为在你的项目中有很多版本/分支,Hudson要正确 的决定如何处理依赖。
Maven集成插 件
Hudson的Maevn2项目类型包含一个Maven集成插件,它已经绑定在Hudson发行版本中 。它会列在可用插件列表中,当插件版本低于Hudson当前版本时,推荐你升级Maven集 成插件。虽然它是一个插件,但是它会作为Hudson核心的一部分进行开发、测试和 发布。