Как мне запланировать работу в Дженкинс?
Я добавил новую работу в Дженкинс, которую я хочу периодически планировать.
В Configure job я проверяю флажок "Build Периодически" и в текстовое поле "Расписание" добавляю выражение:
15 13 * * *
Но он не запускается в запланированное время.
Это правильная процедура для планирования работы?
![Enter image description here]()
Задание должно выполняться в 4:20 утра, но оно не выполняется.
Ответы
Ответ 1
Устанавливая период расписания на 15 13 * * *
вы указываете Jenkins планировать сборку каждый день каждого месяца каждого года на 15-й минуте 13-го часа дня.
Дженкинс использовал выражение cron, а следующие поля:
- МИНУТ Минуты за один час (0-59)
- ЧАСЫ Часы в один день (0-23)
- ДЕНЬ МЕСЯЦА День месяца (1-31)
- МЕСЯЦ Месяц в году (1-12)
- 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.
Примеры:
-
Начните сборку ежедневно с 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 до 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
Шаги для планирования работы в Дженкинс:
- нажмите "Настроить" требования к работе
- прокрутите вниз до " Построить триггеры " - подзаголовок
- Периодически нажимайте на чекбокс Box of Build
- Добавьте расписание в поле "Расписание", например,
@midnight
![enter image description here]()
Примечание: под полем расписания можно увидеть последний и следующий запуск даты и времени.
Ответ 9
Для тех, кто не хочет ждать целый час, чтобы увидеть, запускается ли конкретная сборка:
Чтобы получить хеш, вы можете скачать хеш здесь. Используйте полное имя проекта, напечатанное на странице ветки, и напечатайте его так:
System.out.println(Hash.from("sub/microservices/master"));