Jenkins 之定时任务

本文详细解析了Jenkins定时构建Job的配置规则,包括分钟、小时、日期、月份及星期的设定方式,提供了多种示例,如每小时、每两小时、工作日内特定时间等的执行策略,并解释了如何通过使用'H'来优化任务调度,实现系统资源的均衡利用。

jenkins 定时构建job 

  • 规则

MINUTEMinutes within the hour (0–59)
HOURThe hour of the day (0–23)
DOMThe day of the month (1–31)
MONTHThe month (1–12)
DOWThe day of the week (0–7) where 0 and 7 are Sunday.

 

  • 格式解读

  • 第一个*表示分钟,取值0~59
  • 第二个*表示小时,取值0~23
  • 第三个*表示一个月的第几天,取值1~31
  • 第四个*表示第几月,取值1~12
  • 第五个*表示一周中的第几天,取值0~7,其中0和7代表的都是周日

 

  • Examples

# 每小时执行一次

H/59 * * * *

# 每两个小时执行一次

H H/2 * * *

# 每隔15分钟。(或许:07, :22, :37, :52)

H/15 * * * *

# 每前半小时中每隔10分钟。 (3次, 或许:04, :14, :24)

H(0-29)/10 * * * *

# 每个工作日从早上4点45分开始到下午15点45分结束这段时间内每间隔2小时的45分钟那一刻。

45 4-16/2 * * 1-5

#每个工作日从早上9点到下午5点这段时间内每间隔2小时之间的某刻。(或许在上午10:38, 下午12:38, 下午2:38 , 下午4:38)

H H(9-16)/2 * * 1-5

#每月(除了12月)从1号到15号这段时间内某刻。

H H 1,15 1-11 *
  • 指定时区

TZ=Europe/London
# This job needs to be run in the morning, London time
H 8 * * *

 

  • 优化——H 的解读

为了允许定期调度的任务在系统上产生均匀负载,应尽可能使用符号H(用于“散列”)。 例如,对于十几个日常工作使用0 0 * * *将导致午夜大幅飙升。 相比之下,使用HH * * *仍然会每天执行一次,但不能同时执行,更好地使用有限的资源。 

### 如何在 Jenkins 中配置和设置定时构建任务 #### 定义定时表达式 Jenkins 使用类似于 UNIX 的 CRON 表达式的格式来定义何时触发构建作业。此表达式由五个字段组成,分别表示分钟、小时、日期、月份以及星期几[^2]。 #### 创建新 Job 或编辑现有 Job 进入 Jenkins 主界面后,选择要为其设定定时构建的任务,点击左侧菜单中的 "Configure" 进入配置页面。 #### 设置 Build Triggers 向下滚动至 “Build Triggers” 部分并勾选 `Build periodically` 选项。此时会出现一个新的输入框用于填写 CRON 样式的计划字符串[^3]。 #### 输入 Cron 时间表 按照需求填入合适的 cron 表达式。例如: - 若要使项目每半小时自动构建一次,则应在此处键入 `H */30 * * * *`。 - 如果希望每天凌晨两点钟启动构建过程,那么应该写成 `H 2 * * *`。 - 对于更复杂的场景比如仅限工作日的工作时间内每隔两个小时执行一次构建操作可以这样描述:`H H(9-17)/2 * * 1-5` 请注意,在实际应用中通常会使用字母 'H' 来代替具体的数值作为第一个参数(即分钟数),这有助于减少由于多台机器之间的时间差异而导致的竞争条件问题。 ```bash # 每隔五分钟后随机时刻触发构建 H/5 * * * * # 每天晚上十二点整准时触发构建 H 0 * * * # 工作日内从早上九点半开始每隔两小时半触发一次构建直到下午四点半为止 H 9-16/2 * * 1-5 ``` 完成上述步骤之后保存更改即可让 Jenkins 按照预定规则定期运行选定的 job。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值