Можно ли приостановить этап, пока не наступит время в декларативном конвейере Jenkins? - PullRequest
0 голосов
/ 15 января 2019

У меня есть требование разрешить развертывание в производство только в определенном диапазоне времени, например: между 04:00 и 06:00.

Мой конвейер Jenkins запускается веб-крючком Git и запускает поток, состоящий изиз обычных этапов (Build, Test, Deploy Dev, Deploy Pre, Deploy Pro).

Когда мы достигнем этапа Deploy Pro, мне нужно будет проверить, находится ли текущее время в допустимом диапазоне.В противном случае мне нужно приостановить конвейер (, освобождая агента Дженкинса ), пока не будет достигнут этот временной диапазон.

Возможно ли это реализовать?Как?

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Ваш конвейер Jenkins запускается веб-крючком Git и запускает поток, состоящий из обычных этапов (Build, Test, Deploy Dev, Deploy Pre, Deploy Pro).

Вариант 1: пропустите развертывание, используя условие «когда» и если время не находится между

Вариант 2: разделить конвейеры для CI и CD, а CD будет запускаться только во время этого или находиться в стадии паузы с помощью shell cmd

0 голосов
/ 15 января 2019

Для этого вы можете использовать метод sleep , который может получать разные единицы: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS (по умолчанию это SECONDS).

например. sleep(time:3,unit:"SECONDS") (или просто sleep 3 - это то же самое).

Итак, проверьте, находится ли текущее время в разрешенном диапазоне, а если нет, то укажите время для метода sleep в качестве значения 04:00 - <current time> (вам нужно использовать некоторую арифметику, чтобы получить правильное значение в секундах или минут, но это будет не сложно).

Но если все остальные этапы достаточно быстрые, я рекомендую вам использовать опцию Poll SCM (с указанием временного диапазона) для всех конвейеров, потому что это намного проще и результат будет таким же - задание будет выполнено только после 04:00

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...