У меня две работы, JobA и JobB, JobA работает каждый день в 13.00 и регистрирует некоторые выплаты. Я хочу, чтобы JobA запускал JobB, который проверяет платежи, если и только если JobA успешно, а JobB необходимо запустить на следующий день в 04.00

Есть идеи как это сделать?

BR

3
Adam 3 Май 2016 в 14:48

2 ответа

Лучший ответ

Я не смог найти ничего, что могло бы сделать это из коробки. Вы, конечно, можете запланировать периодическое создание работы, но это еще не все, что вам нужно.

Вы можете попробовать одну из этих двух идей (я тоже не реализовал).

  1. Настройте JobB на периодическую сборку в 4 часа утра, но отключите работу. Создайте промежуточное задание с триггером сборки для сборки, если JobA будет успешным (например, установите JobA в разделе проектов для просмотра). Промежуточное задание будет запускать код для активации JobB - простой код с использованием Groovy плагина будет проще всего, или вы можете использовать остальной api через сценарий оболочки / пакетной обработки. Затем в качестве последнего шага сборки в JobB запустите аналогичный сценарий, чтобы снова деактивировать задание.
  2. Schedule Build Plugin позволяет вам планировать будущие сборки. Однако похоже, что это ручной процесс. Если вы можете выяснить, как программно запустить запланированную сборку через этот плагин, вы можете добавить этот код в промежуточное задание, которое настраивается таким же образом, как указано в варианте №1.
2
TheEllis 3 Май 2016 в 12:32

Вы можете использовать задание сборки: шаг в конвейере (https://jenkins.io / doc / pipeline / steps / pipeline-build-step /) и достаточно времени в секундах для запуска задания в нужное время.

РЕДАКТИРОВАТЬ:

Как я сделал def currentDate = GregorianCalendar.getInstance ()

Если вы хотите, чтобы на следующий день в 5 часов утра def selectedDate = new GregorianCalendar (currentDate.get (Calendar.YEAR), currentDate.get (Calendar.MONTH), currentDate.get (Calendar.DAY_OF_MONTH) + 1, 5, 0)

Def quietPeriod = (selectedDate.getTime (). getTime () - currentDate.getTime (). getTime ()) / 1000

0
xs2bharat 18 Май 2018 в 20:17