Как построить график в Дженкинс? - PullRequest
59 голосов
/ 09 августа 2011

Как мне запланировать сборку Jenkins таким образом, чтобы она могла строить только в определенные часы каждый день?

Например, начинать в 16:00

0 16 1-7 * *

Я понимаю, чтокак: 0 минут, в 4 часа вечера с понедельника по воскресенье каждый месяц, однако он собирается каждую минуту :(

Буду благодарен за любой совет. Спасибо!

Ответы [ 8 ]

93 голосов
/ 10 августа 2011

Пожалуйста, прочитайте другие ответы и комментарии, там изложено намного больше информации и описаны нюансы (хэш-функции?), Которых я не знал, когда отвечал на этот вопрос.

СогласноВ собственной справке Дженкинса (кнопка «?») Для задания расписания указывается 5 полей:

Это поле соответствует синтаксису cron (с небольшими отличиями).В частности, каждая строка состоит из 5 полей, разделенных табуляцией или пробелом: МИНУТА ЧАС ОТ МЕСЯЦА ДОУ

Я просто попытался запустить работу в 16:42 (мое приблизительное местное время), и это сработалосо следующим, хотя это заняло около 30 дополнительных секунд:

42 16 * * *

Если вы хотите несколько раз, я думаю, что должно работать следующее:

0 16,18,20,22 * * *

для 4, 6, 8,и 10 часов вечера каждый день.

69 голосов
/ 10 июня 2015

В конфигурации задания можно определить различные триггеры сборки.При периодической сборке вы можете планировать сборку, определяя дату или день недели и время выполнения сборки.

Формат выглядит следующим образом:

МИНУТА (0-59), ЧАС (0-23), ДЕНЬ (1-31), МЕСЯЦ (1-12), ДЕНЬ НЕДЕЛИ (0-6)

Буква H, представляющая слово Hash, может быть вставлена ​​вместо любого из значений, она вычислит параметр на основе хеш-кода имени вашего проекта, так что если вы строите несколько проектов в своей сборкемашина в одно и то же время, скажем, полночь каждый день, они не все начинают выполнение сборки в одно и то же время, каждый проект начинает выполнение в разные минуты в зависимости от своего хеш-кода.Вы также можете указать значение между числами, т. Е. H (0,30) вернет хеш-код проекта, где возможные хеши 0-30

Примеры:

начать сборку ежедневно в 08:30 утра, понедельник - пятница:

  • 30 08 * * 1-5

в будние дни ежедневно строить два раза в день, в обеденное время 12:00 и в полночь 00:00, с воскресенья по четверг:

  • 00 0,12 * * 0-4

начинать сборку ежедневно ближе к вечеру с 16:00 до 16:59 или с 16:00 до 16: 59 в зависимости от хэша проекта:

  • H 16 * * 1-5

начало сборки в полночь:

  • @ midnight

или начинать сборку в полночь, каждую субботу:

  • 59 23 * * 6

каждую первую неделю каждого месяца между 2:00:00 - 02:30:

  • H (0-30) 02 01 * *

подробнее оCRON выражения

11 голосов
/ 08 апреля 2014

Этот пример каждый день, один раз около 9 утра и один раз около 5 вечера(отредактировано в комментариях).

H 9,17 * * * 
4 голосов
/ 20 августа 2014

Для построения один раз в день, например, с 4 вечера до 6 вечера, вы можете использовать

Ч В (15-17) * * *

2 голосов
/ 09 августа 2011

Это выглядит как cron выражение .Обратите внимание, что ваш пример строится только с первого по седьмое каждого месяца в 16:00.Вероятно, у вас есть какая-то другая ошибка, или Jenkins использует нестандартные выражения CRON.

1 голос
/ 02 декабря 2016
H H(5-21)/2 * * 1-5

Пн-Пт строят каждые 2 часа между

1 голос
/ 09 июня 2016

В Дженкинсе у нас есть формат:

Минута (0-59) Час (0-23) День (1-7) Месяц (1-12) День недели

1 голос
/ 12 февраля 2016

Дженкинс использует Cron Expressions .

Вы можете просто запланировать часовую сборку, просто набрав:

@ hourly

...