У меня есть этап развертывания в Jenkins, который выполняет команды "oc patch" и "oc rollout".Эти команды заменяют имя образа докера в DeploymentConfig и выдают изменения в openshift.Как вы можете себе представить, это асинхронный вызов.Это означает, что в Jenkins я не могу проверить, работает или нет недавно развернутый модуль.Дженкинс просто выполняет команды oc и переходит к выполнению следующего этапа.Мое требование - я хочу вернуть фактический статус pod в Jenkins, чтобы пометить конвейер как успешный / неудачный.
Я не смог найти ни одну команду oc или kubectl, которая бы предоставляла мне точный статус развертывания с использованием синхронного вызова.В качестве обходного пути я написал сценарий оболочки, который проверяет состояние pod (используя grep) в течение определенного периода времени после "oc rollout" и отправляет статус выхода обратно в оболочку Jenkins.Я чувствую, что это неправильный метод для проверки развертывания, так как время выполнения моего конвейера увеличивается.
Есть ли у нас стандартная утилита в openshift / kubernetes, которая может предоставить мне точное состояние после развертывания модуля, на которое я могу положитьсяи с помощью которого я могу отметить успешность / неудачу моего конвейера развертывания в Jenkins.
Обратите внимание, я открываю сеанс оболочки в конвейере и выполняю команды oc cli на агенте, на котором установлен oc cli.Этот агент не входит в кластер openshift, и Дженкинс сидит вне кластера openshift.