每次手动触发job构建,是很麻烦的一件事情,job中可以配置定时构建,今天就来分享下定时构建;构建分为两种:定时构建和轮询SCM。
一.定时构建Jenkins采用了著名的UNIX任务调度工具CRON所使用的配置方式,用5个字段代表5个不同的时间单位(中间用空格隔开),语法如下:
字段 * * * * *含义 分钟 小时 日期 月份 星期
取值范围 0-59 0-23 1-31 1-12 0-7
示例
每隔15分钟执行一次 H/15 * * * *
每隔2小时执行一次 H H/2 * * *
每隔3天执行一次 H H H/3 * *
每隔3天执行一次(每月的1-15号) H H 1-15/3 * *
每周1/3/5执行一次 H H * * 1,3,5
每天3点执行一次 H 3 * * *
每天8/12/22点执行一次 H 8,12,22 * * *
规则 备注
指定时间范围 x-y
指定时间间隔 /
指定变量取值 x,y,z
job详细配置如下:
设置为H/10 * * *,是每十分钟执行一次,从上图中可看出,两次运行时间相差十分钟
到了时间就会自动构建,如下所示:
到了设置时间,则自己开始构建,免除了手动构建的烦恼
二.轮询SCM轮询SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作
配置如下:*/10 * * * * (每10分钟检查一次源码变化)
三.Cron表达式与Jenkins定时表达式的异同 1.Cron语法格式Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:
Seconds Minutes Hours DayofMonth Month DayofWeek Year
Seconds Minutes Hours DayofMonth Month DayofWeek
每一个域可出现的字符如表格所示:
字段 允许值 允许的特殊字符秒(Seconds) 0~59的整数 , - * / 四个字符
分(Minutes) 0~59的整数 , - * / 四个字符
小时(Hours) 0~23的整数 , - * / 四个字符
日期(DayofMonth) 1~31的整数(需要考虑月的天数) ,- * ? / L W C 八个字符
月份(Month) 1~12的整数或者 JAN-DEC , - * / 四个字符
星期(DayofWeek) 1~7的整数或者 SUN-SAT (1=SUN) , - * ? / L C # 八个字符
年(可选,留空)(Year) 1970~2099 , - * / 四个字符
注意事项:每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是:
(1)*:表示匹配该域的任意值,假如在Minutes域使用*, 即表示每分钟都会触发事件。