77

如何安排 Jenkins 构建,使其只能在每天的特定时间构建?

例如下午 4 点开始

0 16 1-7 * *

我明白,“在 0 分钟,下午 4 点,从周一到周日,每个月”,但是它每分钟都会建立:(

我将不胜感激任何建议。谢谢!

4

10 回答 10

107

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

根据 Jenkins 自己对调度任务的帮助(“?”按钮),指定了 5 个字段:

该字段遵循 cron 的语法(有细微差别)。具体来说,每一行由 5 个字段组成,由 TAB 或空格分隔:MINUTE HOUR DOM MONTH DOW

我只是想找一份工作在下午 4:42(我的大致当地时间)启动,它与以下内容一起工作,尽管它花了大约 30 秒的额外时间:

42 16 * * *

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

0 16,18,20,22 * * *

每天下午 4 点、6 点、8 点和 10 点。

于 2011-08-09T23:50:11.380 回答
84

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

格式如下:

分钟 (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 之间开始构建,具体取决于项目哈希:

  • 高 16 * * 1-5

午夜开始构建:

  • @午夜

或在每周六午夜开始构建:

  • 59 23 * * 6

每个月的第一天 2:00 am - 02:30 am :

  • H(0-30) 02 01 * *

更多关于 CRON 表达式

于 2015-06-10T09:43:49.547 回答
12

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

H 9,17 * * * 
于 2014-04-08T19:35:55.603 回答
8

在 Jenkins 中安排作业的步骤:

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

在此处输入图像描述

注意:在计划字段下,可以看到最后和下一个日期时间运行。

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

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

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

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

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

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

于 2020-01-15T14:47:46.940 回答
4

要在下午 4 点到 6 点之间每天构建一次,您可以使用

HH(15-17) * * *

于 2014-08-20T09:41:34.860 回答
3
H H(5-21)/2 * * 1-5

周一至周五每 2 小时构建一次

于 2016-12-02T17:00:30.453 回答
2

这似乎是一个cron 表达式。请注意,您的示例仅在每个月的第一天到第七天 16:00 构建。您可能有某种其他错误,或者 Jenkins 使用了非标准 CRON 表达式。

于 2011-08-09T17:33:57.357 回答
1

詹金斯使用Cron 表达式

您只需键入即可简单地安排每小时构建@hourly

于 2016-02-12T16:25:39.320 回答
1

在 Jenkins 中,我们的格式如下:

分 (0-59) 时 (0-23) 日 (1-7) 月 (1-12) 星期几

于 2016-06-09T09:41:34.443 回答
0

周一到周日下午 4 点试试这个

0 16 * * *

您可以在 Jenkins 下的“定期构建”中查看配置时显示的描述消息。(请参阅下面给出的屏幕截图)

“上次运行时间为 2019 年 11 月 17 日星期日下午 4:00:05 IST;下一次运行时间为 2019 年 11 月 18 日星期一下午 4:00:05 IST。”

截屏

在此处输入图像描述

“2019 年 11 月 18 日星期一 4:00:05 PM IST”时间中的秒数是指我们当前的系统秒数。

于 2019-11-18T05:42:43.490 回答