讀古今文學網 > Maven實戰 > 11.6.3 Hudson任務的構建觸發配置 >

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任務的代碼倉庫輪詢配置

在配置輪詢的時候,還可以使用「#」添加註釋,此外空白的行會被忽略。例如: