首页 » Maven实战 » Maven实战全文在线阅读

《Maven实战》11.6.3 Hudson任务的构建触发配置

关灯直达底部

再往下的Build Triggers部分配置的是触发构建的方式。可选的三种方式分别为:

·Build after other projects are built:在其他项目构建完成之后构建本项目。

·Build periodically:周期性地构建本项目。

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

如无特殊高级的需要,一般不会选择第一种方式;而第二种方式显然会造成一些无谓的构建,如果几次构建所基于的源代码没有任何区别,构建的输出往往也就不会有变化;第三种方式就没有这个问题,它能避免无谓的构建,节省持续集成服务器的资源。这种周期轮询源代码仓库的方式实际上也是最常用的构建触发方式。

既然是轮询,就需要配置轮询的频率,Hudson使用了著名的UNIX任务调度工具Cron(http://en.wikipedia.org/wiki/Cron)所使用的配置方式。这种配置方式使用5个字段表示不同的时间单位(字段之间用空格或制表符分隔):

分 时 日 月 星期几

每个字段表示的意义及值范围分别为:

·分:一小时中的分钟(0~59)。

·时:一天中的小时(0~23)。

·日:一月中的日期(1~31)。

·月:月份(1~12)。

·星期几:一周中的星期几(0~7,0和7都表示星期天)。

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

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

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

·A,B,…,Z:逗号表示匹配多个值,如“0,15,0”。

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

下面一些例子可以帮助读者理解这种强大的配置方式:

·****:每分钟。

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

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

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

·0,30*13*5:每月13号的每半小时,或者每周五的每半小时。

对于一个健康的项目来说,常见的做法是:每隔10分钟轮询代码仓库,如图11-15所示。

图11-15 Hudson任务的代码仓库轮询配置

在配置轮询的时候,还可以使用“#”添加注释,此外空白的行会被忽略。例如: