Пометить задание Дженкинса как успешное / не выполненное в зависимости от состояния выполнения кодовой линии aws - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть задание jenkins, которое использует execute shell в качестве фазы сборки. Я вызываю 3 AWS выполнения Codepipeline, используя команду aws cli из этой оболочки. Выполнение моей кодовой линии занимает 4-5 минут, чтобы завершить выполнение, но задание jenkins помечается как успешное до завершения конвейера, и даже если конвейер завершился неудачей на каком-либо этапе.

Есть ли способ сделать задание jenkins завершать только после завершения выполнения кодовой линии и помечать успешное / неудачное выполнение задания Jenkins в зависимости от состояния моего aws код-конвейера.

ИЛИ

Как пометить задание jenkins как Успешно / Сбой в зависимости от состояния моего aws код-конвейера.

1 Ответ

0 голосов
/ 09 февраля 2020

'start-конвейер-выполнение' является асинхронной операцией. Вам нужно продолжать опрашивать состояние выполнения, чтобы узнать результат.

В вашем задании Jenkins, когда вы запустили конвейер, используя start-pipe-execute выполнение, вам нужно будет продолжать запрашивать идентификатор выполнения конвейера используя CLI-вызов get-pipeline-execute [1] и продолжайте проверять состояние в течение нормального промежутка времени (скажем, 1 час) в al oop. Когда возвращаемое состояние get-pipe-execute-return = 'Succeeded', завершаем работу с 0 от Jenkins, если это 'Failed', завершаем работу с -1 на шаге оболочки, чтобы завершить задачу Jenkins.

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