Как мне запланировать работу в Дженкинс?

Я добавил новую работу в Дженкинс, которую я хочу периодически планировать.

В Configure job я проверяю флажок "Build Периодически" и в текстовое поле "Расписание" добавляю выражение:

15 13 * * *

Но он не запускается в запланированное время.

Это правильная процедура для планирования работы?

Enter image description here

Задание должно выполняться в 4:20 утра, но оно не выполняется.

Ответ 1

Устанавливая период расписания на 15 13 * * * вы указываете Jenkins планировать сборку каждый день каждого месяца каждого года на 15-й минуте 13-го часа дня.

Дженкинс использовал выражение cron, а следующие поля:

  1. МИНУТ Минуты за один час (0-59)
  2. ЧАСЫ Часы в один день (0-23)
  3. ДЕНЬ МЕСЯЦА День месяца (1-31)
  4. МЕСЯЦ Месяц в году (1-12)
  5. DAYWEEK День недели (0-7), где 0 и 7 - воскресенье

Если вы хотите планировать сборку каждые 5 минут, это сделает работу: */5 * * * *

Если вы хотите запланировать сборку каждый день на 8:00, это сделает работу: 0 8 * * *

Для последних нескольких версий (2014) у Jenkins появился новый параметр H (извлечение из документации кода Jenkins):

Чтобы позволить периодически запланированным задачам создавать равномерную нагрузку на систему, символ H (для "хэша") должен использоваться везде, где это возможно.

Например, использование 0 0 * * * для дюжины ежедневных заданий вызовет большой всплеск в полночь. Напротив, использование HH * * * будет по-прежнему выполнять каждую работу один раз в день, но не все одновременно, лучше при использовании ограниченных ресурсов.

Обратите внимание, что:

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

Еще пример использования 'H'

Ответ 2

Jenkins позволяет настраивать несколько раз, разделенных переносами строк.

Если вам нужно построить его ежедневно в 7 часов утра, а также каждое воскресенье в 4 часа дня, то нижеприведенное работает хорошо.

H 7 * * *

H 16 * * 0

Ответ 3

*/5 * * * * означает каждые 5 минут

5 * * * * означает 5-ю минуту каждого часа

Ответ 4

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

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

Буква H, представляющая слово Hash, может быть вставлена вместо любого из значений. Он рассчитает параметр на основе хэш-кода вашего имени проекта.

Это связано с тем, что если вы собираете несколько проектов на своем компьютере сборки, скажем, каждый день в полночь, они не все одновременно начинают выполнение сборки. Каждый проект начинает выполнение в разные минуты в зависимости от своего хеш-кода.

Вы также можете указать значение между числами, т.е. H (0,30) вернет хеш-код проекта, где возможные хеши 0-30.

Примеры:

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

  2. Будни ежедневно строят два раза в день, в обеденное время 12:00 и в полночь 00:00, с воскресенья по четверг: 00 0,12 * * 0-4

  3. Начинайте сборку ежедневно ближе к вечеру с 16:00 до 16:59 или 16:00 -16: 59 в зависимости от хэша проекта: H 16 * * 1-5

  4. Начать сборку в полночь: @midnight или начать сборку в полночь, каждую субботу: 59 23 * * 6

  5. Каждое первое число каждого месяца с 2:00 до 02:30: H (0,30) 02 01 * *

Ответ 5

Чтобы планировать работу cron каждые 5 минут, вам нужно определить настройки cron следующим образом:

*/5 * * * *

Ответ 6

Попробуйте использовать 0 8 * * *. Он должен работать

Ответ 7

Дженкинс использует формат Cron при планировании. Вы можете обратиться по этой ссылке для более подробной информации https://en.wikipedia.org/wiki/Cron. Еще одна вещь, Дженкинс предоставляет нам очень полезный предварительный просмотр. Пожалуйста, посмотрите на скриншот. enter image description here

Я надеюсь, что это поможет. Спасибо

Ответ 8

Шаги для планирования работы в Дженкинс:

  1. нажмите "Настроить" требования к работе
  2. прокрутите вниз до " Построить триггеры " - подзаголовок
  3. Периодически нажимайте на чекбокс Box of Build
  4. Добавьте расписание в поле "Расписание", например, @midnight

enter image description here

Примечание: под полем расписания можно увидеть последний и следующий запуск даты и времени.

Ответ 9

Для тех, кто не хочет ждать целый час, чтобы увидеть, запускается ли конкретная сборка:

Чтобы получить хеш, вы можете скачать хеш здесь. Используйте полное имя проекта, напечатанное на странице ветки, и напечатайте его так:

System.out.println(Hash.from("sub/microservices/master"));