如何在Jenkins建立日程安排?

dea*_*ish 63 schedule build timetable cronexpression jenkins

如何安排Jenkins构建,以便它只能在每天的特定时间构建?

例如,从下午4点开始

0 16 1-7 * *
Run Code Online (Sandbox Code Playgroud)

我理解为:0分钟,每个月从星期一到星期日下午4点,但它每分钟都会建立:(

我会很感激任何建议.谢谢!

Zac*_*ung 96

请阅读其他答案和评论,有更多的信息陈述和细微差别描述(哈希函数?),当我回答这个问题时我不知道.

根据Jenkins自己的帮助("?"按钮)进行计划任务,指定了5个字段:

该字段遵循cron的语法(略有不同).具体来说,每行包含由TAB或空格分隔的5个字段:MINUTE HOUR DOM MONTH DOW

我只是试图在下午4:42(我的大致当地时间)找到一份工作,并且它可以使用以下内容,但它需要大约30秒:

42 16 * * *
Run Code Online (Sandbox Code Playgroud)

如果你想多次,我认为以下应该有效:

0 16,18,20,22 * * *
Run Code Online (Sandbox Code Playgroud)

每天下午4点,6点,8点和10点.


Mer*_*avi 73

在作业配置中,可以定义各种构建触发器.通过定期构建,您可以通过定义一周中的日期或星期以及执行构建的时间来安排构建.

格式如下:

分钟(0-59),小时(0-23),白天(1-31),月(1-12),星期(0-6)

可以插入代表Hash一词的字母H而不是任何值,它将根据项目名称的哈希码计算参数,这样如果您在构建机器上同时构建多个项目时间,让我们说每天午夜,他们并非都从那里开始同时构建执行,每个项目根据其哈希码在不同的时间开始执行.您还可以指定数字之间的值,即H(0,30)将返回可能的哈希值为0-30的项目的哈希码

例子:

每周一至周五早上08:30开始建设:

  • 30 08**1-5

工作日每天建立两次,午餐时间12:00和午夜00:00,周日至周四:

  • 00 0,12**0-4

根据项目哈希值,每天下午4:00 - 4:59或16:00 - 16:59开始构建.

  • H 16**1-5

在午夜开始构建:

  • @午夜

或者每周六午夜开始建造:

  • 59 23**6

每个月的每个月的凌晨2:00 - 02:30之间:

  • H(0,30)02 01**

更多关于CRON表达式

  • 谢谢,但你确定`1-6`是星期一到星期五?不是吗?1-5`?等等 (2认同)

cap*_*o70 11

这个例子是每天一次,大约上午9点左右,下午5点左右.(根据评论编辑).

H 9,17 * * * 
Run Code Online (Sandbox Code Playgroud)

  • 不完全是.这将在上午9:00到9:59之间运行一次,再加上一次在下午5:00到下午5:59之间. (6认同)
  • 更确切地说:该工作将在上午9:00至上午9:59之间启动一次,并在下午5:00至下午5:59之间启动一次.如果需要更长时间,工作将不会终止. (3认同)
  • 请注意"将在0900和0959之间运行一次":H代表"哈希" - 它是基于项目的哈希值,因此该项目将始终在第9小时和第17小时的同一分钟运行.如果哈希算法为您的项目生成数字"16",那么您的项目作业将始终从0916和1716开始. (3认同)

Gav*_*hen 10

在 Jenkins 中安排作业的步骤:

  1. 点击职位要求的“配置”
  2. 向下滚动到“构建触发器”-副标题
  3. 单击定期构建的复选框
  4. 在 Schedule 字段中添加时间表,例如:@midnight

在此输入图像描述

注意:在计划字段下,可以看到上次和下一次的日期时间运行。

Jenkins 还支持预定义别名来安排构建:

@hourly, @daily, @weekly, @monthly,@midnight

@hourly --> 每小时开始时构建 -->0 * * * *

@daily, @midnight--> 每天午夜构建 -->0 0 * * *

@weekly--> 每周日午夜午夜构建 -->0 0 * * 0

@monthly--> 每月第一天午夜构建 -->0 0 1 * *