构建触发器类型:
1、触发远程构建 (例如,使用脚本) : 外部通过url命令触发,拼接token和url就可以进行远程触发了
2、Build after other projects are built : 在其他项目构建完成后再进行构建。当本job依赖的job被build时,执行本job。
3、Build periodically : 隔一段时间build一次,不管版本库代码是否发生变化,通常不会采用此种方式;
4、GitHub hook trigger for GITScm polling : github上代码有变动时构建
5、Poll SCM : 隔一段时间比较一次源代码,如果发生变更,那么就build。否则,不进行build,通常采用这种方式。
Build after other projects are built又分三种情况:
①Trigger only if build is stable:构建稳定时触发
②Trigger even if the build is unstable:构建不稳定时触发
③Trigger even if the build fails:构建失败的时候触发
trigger:触发
Build periodically和Poll SCM两者是可以结合起来使用的。
Jenkins构建时间Poll Scm的设置(常用设置)
每15分钟构建一次:H/15 * * * * 或 */5 * * * *
每天8点构建一次:H 8 * * * 或 0 8 * * *
每天8点~17点,两小时构建一次:H 8-17/2 * * * 或 0 8-17/2 * * *
周一到周五,8点~17点,两小时构建一次:H 8-17/2 * * 1-5 或 0 8-17/2 * * 1-5
每月1号、15号各构建一次,除12月:H H 1,15 1-11 *
H/5 * * * * 或 */5 * * * * (每5分钟检查一次源码变化)
H 2 * * * 或 0 2 * * * (每天2:00 必须build一次源码)
poll scm设置规则
MINUTE HOUR DOM MONTH DOW
分 时 天 月 周
MINUTE 一小时内多少分钟(0-59)
HOUR 一天内多少小时(0-23小时)
DOM 一个月内多少天(1-31)
MONTH 每月(1-12)
DOW 星期几(0-7),其中0和7都表示周日。
如果要指定一个字段允许多个值,就按下面提供的操作步骤(指定)。
优先顺序如下:
‘*’ 可用来指定所有有效的值。
‘M-N’ 可以用来指定一个范围,比如“1-5”
‘M-N/X’或’/X’ 可用于在指定范围内跳跃一个X的值,比如在MINUTE字段中”/15”表示”0,15,30,45”,”1-6/2”表示”1,3,5”。
‘A,B,…,Z’ 可以用来指定多个值,比如“0,30”或“1,3,5”。
任何空白行和’#’开始的行都将表示为注释而不予理睬。
此外,”@yearly’, ‘@annually’, ‘@monthly’, ‘@weekly’, ‘@daily’, ‘@midnight’, ‘@hourly’都是支持的 。
五个*依次标识 分钟 小时 每月几号 哪个月月 周几
例:
H/15 * * * * 每15分钟
H(0-29)/10 * * * * 每小时的0到29分钟每15分钟
H 2-19/2 * * 1-5 每周1到周五(工作日)2点到19点每2小时执行
H H 1,15 1-11 * 1到11月1号和15号各执行一次