1382 字
7 分钟
Jenkins:任务触发机制
1. 触发机制
利用Build Trigger(构建触发器)设定任务触发机制,常用的触发机制有:手动触发、周期触发、计划触发。
- 手动触发:不作任何设置
- 周期触发:设置Build periodically——不管目录文件是否有更新,都会强制触发构建
- 计划触发:设置Poll SCM——按设置的时间进行轮询,发现有目录文件变化时,会触发构建
2. Schedule设定
周期触发和计划触发都要设定触发方案:Schedule,由五个字段的变量组成,分别不同的时间范围,可用 *、H、0-9 等字符组合进行表示。
说明:* * * * *
- 第一颗 * 代表 分,取值 0~59
- 第二颗 * 代表 时,取值 0~23
- 第三颗 * 代表 天,取值 1~31
- 第四颗 * 代表 月,取值 1~12
- 第五颗 * 代表 星期,取值 0~7,0 和 7 都是表示星期天
2.1 周期设定(使用较多)
| 示例 | 命令 |
|---|---|
每分钟构建一次 | * * * * * |
每小时构建一次 | H * * * * |
| 每天构建一次 | H H * * * |
| 每月构建一次 | H H H * * |
| 每年构建一次 | H H H H * |
每5分钟构建一次 | H/5 * * * * |
每6小时构建一次 | H H/6 * * * |
| 每3天构建一次 | H H H/3 * * |
| 每4个月构建一次 | H H H H/4 * |
注意:Jenkins对H/1解析不合理
- 应当解析为每一个时间单位触发一次构建
- 实际解析为每上一时间单位触发一次
如:H/1 * * * * 本应该是每分钟构建一次,但是实际上每小时构建一次,而对于H/2 * * * *** 则是正确的每两分钟构建一次**。
2.2 定时设定(使用较多)
| 示例 | 命令 | 对时间段的描述 |
|---|---|---|
| 在每小时第2分钟的时候构建一次 | 2 * * * * | xx:02:00 至 xx:02:59 |
在每天8点30分的时候构建一次 | 30 8 * * * | 每天 08:30:00 至 08:30:59 |
| 在每月5号10点0分的时候构建一次 | 0 10 5 * * | 每月 5日 10:00:00 至 10:00:59 |
| 在每年1月1日0点0分的时候构建一次 | 0 0 1 1 * | 每年 1月1日 00:00:00 至 00:00:59 |
在每周日的时候构建一次 | * * * * 0 或 * * * * 7 | 每周日 00:00:00 至 23:59:59 |
| 在每周五20点0分的时候构建一次 | 0 20 * * 5 | 每周五 20:00:00 至 20:00:59 |
| 示例 | 命令 | 对时间段的描述 |
|---|---|---|
| 在每年1月1日的任意时候构建一次(不一定相同的构建时间点) | * * 1 1 * | 每年1月1日 00:00:00 至 23:59:59 |
| 在每年1月1日的同一时候构建一次(肯定相同的构建时间点) | H H 1 1 * | 每年1月1日 00:00:00 至 23:59:59 |
| 在每年1月1日的指定时候构建一次 | 0 0 1 1 * | 每年1月1日 00:00:00 至 00:00:59 |
2.3 连续区间式设定
| 示例 | 命令 | 对时间段的描述 |
|---|---|---|
| 在每小时第5到8分钟时段里构建一次 | 5-8 * * * * | xx:05:00 至 xx:08:59 |
| 在每天8点到9点的30分时段里构建一次 | 30 8-9 * * * | 每天 08:30:00 至 08:30:59、09:30:00 至 09:30:59 |
| 在每月1号至3号0点0分的时候构建一次 | 0 0 1-3 * * | 每月 1号至3号 00:00:00 至 00:00:59 |
| 在每年7月至9月、每月1号0点0分的时候构建一次 | 0 0 1 7-9 * | 每年 7月至9月 1号 00:00:00 至 00:00:59 |
在每周工作日10点0分的时候构建一次 | 0 10 * * 1-5 | 每周 工作日 10:00:00 至 10:00:59 |
| 在每周周末12点0分的时候构建一次 | 0 12 * * 6-7 | 每周 周末 12:00:00 至 12:00:59 |
| 示例 | 命令 | 对时间段的描述 |
|---|---|---|
| 在每小时第5到8分钟的时段里任意时候构建一次 | 5-8 * * * * | xx:05:00 至 xx:08:59 |
| 在每小时第5到8分钟的时段里同一时候构建一次 | H(5-8) * * * * | xx:05:00 至 xx:08:59 |
| 在每天8点到18点的时段里任意时候构建一次 | * 8-18 * * * | 08:00:00 至 18:59:59 |
| 在每天8点到18点的时段里同一时候构建一次 | H H(8-18) * * * | 08:00:00 至 18:59:59 |
2.4 离散区间式设定
| 示例 | 命令 | 对时间段的描述 |
|---|---|---|
| 在每小时第1、第2、第3分钟时段里各构建一次 | 1,2,3 * * * * | xx:01:00 至 xx:01:59、xx:02:00 至 xx:02:59、xx:03:00 至 xx:03:59 |
在每天8点、20点的时段里各构建一次 | H 8,20 * * * | 每天 08:00:00 至 08:59:59、20:00:00 至 20:59:59 |
| 在每月1号、15号,0点0分的时段里各构建一次 | 0 0 1,15 * * | 每月 1号、15号 00:00:00 至 00:00:59 |
| 在每年7月、8月,每月1号的时段里各构建一次 | H H 1 7,8 * | 每年 7月、8月 1号 00:00:00 至 23:59:59 |
在每周三、每周五,10点0分的时段里各构建一次 | 0 10 * * 3,5 | 每周三、每周五 10:00:00 至 10:00:59 |
2.5 组合式设定
| 示例 | 命令 | 对时间段的描述 |
|---|---|---|
| 每个工作日,9点到16点,每2小时,在45分的时候构建一次 | 45 H(9-16)/2 * * 1-5 | 09:45:00 至 09:45:59、11:45:00 至 11:45:59、…… |
每个工作日,8点到18点,每2小时构建一次 | H H(8-18)/2 * * 1-5 | 08:00:00 至 08:59:59、10:00:00 至 10:59:59、…… |
每个周末,在8点、12点、16点、20点的时间点,各自构建一次 | H 8,12,16,20 * * 6-7 | 08:00:00 至 08:59:59、12:00:00 至 12:59:59、…… |
| 每年10月的1号至7号,每天构建一次 | H H 1-7 10 * | 每年 10月 1号至7号 00:00:00 至 23:59:59 |