Jenkins 常用定时构建脚本
Jenkins 使用 cron 风格的语法来配置定时构建任务,以下是常用的定时构建脚本示例和说明:
基本语法
Jenkins 定时构建使用五个字段表示时间,格式为:
MINUTE HOUR DOM MONTH DOW
- MINUTE - 分钟 (0-59)
- HOUR - 小时 (0-23)
- DOM - 月的第几天 (1-31)
- MONTH - 月份 (1-12)
- DOW - 星期几 (0-7),0和7都表示周日
常用示例
-
每15分钟构建一次
H/15 * * * *
-
每小时的第30分钟构建
30 * * * *
-
每天凌晨2点构建
0 2 * * *
-
每天上午9点和下午5点各构建一次
0 9,17 * * *
-
每周一至周五上午8点构建
0 8 * * 1-5
-
每月1号和15号构建
0 0 1,15 * *
-
每隔2小时构建一次
H */2 * * *
-
工作日上午9点到下午5点,每2小时构建一次
H 9-17/2 * * 1-5
-
每周六凌晨3点构建
0 3 * * 6
-
随机时间构建(使用H符号)
H * * * * # 每小时随机时间构建一次 H H * * * # 每天随机时间构建一次 H H * * 0 # 每周日随机时间构建一次
-
(周一到周五)的8点\13点\17点)
H 7,12,16 * * 1-5
```
最佳实践
-
使用
H
符号(哈希符号)来分散负载,避免所有任务同时运行:H * * * *
表示每小时随机时间构建H/15 * * * *
表示每15分钟构建,但时间随机分布在15分钟区间内
-
对于频繁构建的任务,考虑使用较短的间隔:
*/5 * * * *
每5分钟构建一次H/10 * * * *
每10分钟构建一次(随机分布)
-
对于夜间构建,可以设置在不影响工作时间的时间段:
0 2 * * *
凌晨2点构建
-
对于多分支流水线,可以在分支属性中单独配置定时构建策略
注意事项
- 时间基于Jenkins服务器所在时区
- 修改定时构建配置后需要保存才能生效
- 过于频繁的构建可能会对系统资源造成压力
- 可以使用
#
添加注释说明定时构建的目的