再往下的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任务的代码仓库轮询配置
在配置轮询的时候,还可以使用“#”添加注释,此外空白的行会被忽略。例如: