如何配置Jenkins任务实现Azure虚拟机工作日启停/周末仅停止调度
优化你的Jenkins VM启停调度配置方案
我之前刚好处理过类似的Jenkins定时任务需求,给你梳理下最简洁的优化方案,用单个任务就能完美实现你要的逻辑:
优化后的完整配置
直接替换成以下两行cron表达式即可:
H 5 * * 1-5 % OPTIONS=start H 20 * * * % OPTIONS=stop
配置逻辑解释
- 启动任务:
H 5 * * 1-5 % OPTIONS=start保留你原来的配置,只在周一到周五(1-5)的5点左右执行启动操作,H用来分散任务执行时间,避免同一时间大量任务触发。 - 停止任务:把原来的
H 20 * * 1-5 % OPTIONS=stop改成H 20 * * * % OPTIONS=stop,这里把星期字段的1-5换成*,表示每天(包括周六周日)的20点左右都执行停止操作,刚好满足周末只停不启的要求。
额外注意事项
- 确认你的Build Periodically with parameters插件支持多行cron配置(绝大多数场景下都是支持的,每行对应一个带参数的调度实例)
- 测试阶段可以临时调整cron的分钟/小时字段(比如改成
H */5 * * *),快速验证参数传递和任务执行逻辑是否符合预期,避免影响正常业务 - 如果VM有特殊假期需求,后续可以在cron里排除特定日期,或者结合Jenkins的日历插件做更精细的控制
内容的提问来源于stack exchange,提问作者bonafide
相关产品推荐
相关产品推荐

