Я настраиваю Непрерывное Развертывание для приложения, которое должно быть развернуто на Kubernetes Engine, и есть ряд команд, которые я хотел бы запускать, только если они либо не установлены, либо не требуютработала на втором экземпляре.
Я не хочу иметь никаких предположений или требований перед компакт-диском, таких как «kubectl должен быть уже установлен», «Кластер должен уже существовать» или «Контейнер уже существует сИзображение развернуто ".
Я в основном хочу, чтобы в моих конвейерах bitbucket проверялись проверки, нужно ли мне вызывать одно из следующего в зависимости от того, существует ли контейнер в первую очередь:
kubectl run my-container --image=$IMAGE_NAME
или
kubectl set image deployment/my-container my-container=$IMAGE_NAME
Имея что-то подобное, я могу быть полностью гибким в настройке, поэтому, если кластер не был настроен или, например, kubectl не установлен, развертывание будет продолжено и настроено.и установите его.
Мой опыт работы с Team City работает с Octopus, и у них есть прекрасный интерфейс, где этичерт может быть сделано.Лучше ли в Bitbucket Pipelines вызывать пользовательский скрипт, тогда я бы все написал?Я просто думаю, что в самом разделе сценариев было бы намного приятнее, поэтому, если он потерпит неудачу, легче выяснить, почему.
Каков наилучший способ добиться этого?