​1.Maven-简介​ 2.Maven-安装和配置​ 3.Maven-POM文件说明​ 4.Maven-坐标​ 5.Maven-依赖详解​ 6.Maven-仓库​ 7.Maven-生命周期和插件​    8.Maven-聚合 9.​

Maven-继承和反应堆

​ 10.​

Maven-使用NEXUS创建私服    

​11.​

Mavne-配置从NEXUS下载构件和为项目配置独立仓库

​   12.​

Maven-使用Hudson进行持续集成及系统配置

​  13.​

Maven-创建Hudson任务

​  14.​

Maven-Hudson监视任务、用户管理、工作目录


1 创建Hudson任务

要创建一个Hudson任务来持续集成Maven项目,首先单击页面左边的新建任务,然后就需要在页面右边选择任务的名称及类型。


13 Maven-创建Hudson任务_创建Huson任务


这里有三个类型,这里说一下自由式的和多配置的,后者需要用哦过户进行多一点的配置,而前者会使用Hudson自带的Maven,且从项目的POM中获取足够的信息以免去一些配置。除非你十分熟悉Hudson,否则就还是选择自由式的吧。至于监控的,我没用过...


1.1 Hudson任务的基本配置

1:首先是项目的名称和描述。当Hudson任务比较多的时候,简洁且有意义的名称及描述就十分重要。

2:接着就是一个重要的选项 Discard Old Builds。该选项配置如何抛弃旧的构件。Hudson每次执行一次构件任务,就可以保存相应的源代码、构建输出、构建报告等文件。很显然,如果每次构件相关的文件都保存下来,将会渐渐消耗光磁盘空间。为此,Hudson提供了两种方式让用户选择保留哪些构件任务的相关文件,分别为:

Days to keep builds:如果其值为非空的N,就仅保留N天之内的构件文件。

Max # of builds to keep:如果#非空,就仅保留最多#个最近构件的相关文件。


13 Maven-创建Hudson任务_Hudson源码仓库配置_02

如图配置表示最多保留10个最近的构件。


1.2 Hudson任务的源码仓库配置

接着需要配置项目的源码控制系统。在项目配置页面Source Code Management部分,选择Subversion单选按钮,然后在Repository URL文本输入项目的仓库地址,一般来说,该部分的其他选项默认保留即可。



13 Maven-创建Hudson任务_创建Huson任务_03

需要注意的是,如果访问Subversion仓库需要认证,Hudson会自动探测并提示用户输入认证信息



13 Maven-创建Hudson任务_创建Huson任务_04


单击enter credential后,Hudson会弹出一个页面让用户选择认证方式并输入认证信息。输入正确信息后,Hudson就能读取仓库源代码了。

13 Maven-创建Hudson任务_Hudson_05


13 Maven-创建Hudson任务_创建Huson任务_06


1.3 Hudson任务的构建触发配置

Build Triggers配置是触发构件的方式,分别为:

--Build after other jobs are built:在其他项目构件完成之后构件本项目

--Build periodically:周期性地构件本项目

--Poll SCM:周期性地轮询源码仓库,发现有更新的时候构件本项目。

如无特殊高级需要,一般不会选择第一种方式;第二种方式会造成一些无谓的构件,如果几次构件所基于的源代码没有任何区别,构件的输出往往也就不会有变化;第三种方式就没有这个问题,它能避免无谓的构件节省持续集成服务器的资源。这种周期轮询源代码仓库的方式实际上也是最常用的构建触发方式。既然是轮询,就需要配置轮询的频率,Hudson使用了UNIX任务调度工具,这种方式使用5个字段表示不同的时间单位:

                                          分 时  日  月  星期几


分:一小时中的分钟(0-59)

时:一天中的小时(0-23)

日:一月中的日期(1-31)

月:月份(1-12)

星期几:一周中的星期几(1-12)

其中每个字段除了可以使用其范围内的值以外,还能使用一些特殊的字符:

*:星号表示匹配范围内所有值。

M-N:连字符表示匹配M-N范围内的所有值,如:1-5。

A,B...,Z:逗号表示匹配多个值,如0,15,0

*/X或M-N/X:范围上加上斜杠表示匹配范围内能被X整除的值,如 1-10/3 等同于 3,6,9


例子:

****:每分钟。

5****:每小时中的第五分钟。

*/10****:每隔10分钟。

45 10**1-5:每周一到周五的上午10:45。

0,30*13*5:每月13号的每半小时。

对于一个健康的项目来说,常见的做法是:每隔10分钟轮询代码库


13 Maven-创建Hudson任务_Huson任务构件_07

备注:可以使用#添加注释,此外空白的行会被忽略。


1.4 Hudson任务的构建配置

接下来要告诉Hudson使用Maven命令构件项目。单击Build部分中的Add build step 下三角按钮,然后选择如图:

13 Maven-创建Hudson任务_Hudson任务构建触发_08


再选择一个安装好的Maven版本,输入Maven命令如clean deploy就可以了,如图


13 Maven-创建Hudson任务_Hudson任务构建触发_09

需要注意的是,日常持续集成任务如果成功的话,都会生成快照版的项目构件。如果维护了一个Maven私服,那么持续集成任务就应当自动将构件部署到私服中,供其他项目使用。这也就是使用clean deploy的原因。至此Hudson任务配置基本完成,单击Save按钮保存,之后如下图:

13 Maven-创建Hudson任务_Hudson源码仓库配置_10