Jenkins定時構建語法規則及時間設置
Jenkins定時構建時間設置
Jenkins時區設置為北京時間
打開 【系統管理】->【腳本命令行】運行下面的命令
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')
查看時間:
[root@120jenkins ~]# dateSat Apr 25 13:55:51 CST 2020
官方說明翻譯
MINUTE HOUR DOM MONTH DOW
這個字段就好比cron定時任務語法(隻有較小的差別),具體來說,每行由5個被TAB或空格分割的字段組成。
其中每個字段除瞭可以使用取值范圍內的值外,還能使用一些特殊的字符。
* 匹配范圍內所有值 M-N 匹配M~N范圍內所有值 M-N/X 或者 */X 在指定M~N范圍內或整個有效區間內每隔X構建一次 A,B,...,Z 匹配多個值
為瞭在系統中生成定時任務,符號H(代表“Hash”,後面用“散列”代替)應該用在可能用到的地方,例如:為十幾個日常任務配置0 0 * * *將會在午夜產生較大峰值。相比之下,配置H H * * * 仍將每天一次執行每個任務,不是都在同一時刻,可以更好的使用有限資源。
符號H可用於范圍,例如,H H(0-7) * * * 代表凌晨0:00到 上午7:59一段時間。你還可以用H代表有或無范圍的區間。
符號H 在一定范圍內可被認為是一個隨機值,但實際上它是任務名稱的一個散列而不是隨機函數。
需要註意的是,月份中的某天-DOM字段,類似於*/3 或者 H/3 的短周期由於月份的天數不固定,在大多數月尾總不會工作。例如,*/3 將會在一個月裡面的第一天、第四天。。。第31天執行,下個月的那天繼續重復執行。散列一般被選擇在1-28天內,所以H/3將會在跑到月底的3-6天內導致空白。(長時間循環將會導致長度不一,但是這種影響也是不明顯的。)
空行和以#開頭的行將會被認為是註釋。
另外,@yearly, @annually, @monthly, @weekly, @daily, @midnight, 和 @hourly也支持別名。這些使用散列系統自動匹配,例如:@hourly 和 H * * * * 一樣代表一個小時內的任何時刻。@midnight實際上代表凌晨0:00到凌晨2:59之間的一段時間。
示例
每隔5分鐘構建一次 H/5 * * * * 每兩小時構建一次 H H/2 * * * 每天中午12點定時構建一次 H 12 * * * 每天下午18點定時構建一次 H 18 * * * 在每個小時的前半個小時內的每10分鐘 H(0-29)/10 * * * * 每兩小時45分鐘,從上午9:45開始,每天下午3:45結束 45 9-16/2 * * 1-5 每兩小時一次,每個工作日上午9點到下午5點(也許是上午10:38,下午12:38,下午2:38,下午4:38) H H(9-16)/2 * * 1-5
以上就是Jenkins定時構建語法規則及時間設置的詳細內容,更多關於Jenkins定時構建的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- MySQL 數據庫定時備份的幾種方式(全面)
- 百度sitemap網站地圖協議規范說明及常見問題
- 基於Calendar獲取當前時間的性能比較
- MySQL定時全庫備份數據庫
- Pandas數據分析固定時間點和時間差