Я сейчас создаю и внедряю Приложение с шаблоном, используя
oc new-app -f ./openshift/template.yaml
Я использую шаблон, а не отдельные конфигурации Deployment-, Build- и т. Д., Потому что я также хочу иметь возможность передавать такие параметры, как
oc new-app -f ./openshift/template.yaml --p DATABASE_PW=PW
Насколько мне известно, это невозможно при использовании
oc create -f ./openshift/deploymentconfig.yaml --p SOME_PARAM=TEST
Теперь я также интегрировал это в Build Pipeline с Jenkins. Моя проблема сейчас в этом. Это все работает нормально при первом развертывании, но не будет работать для повторного развертывания. Я могу либо пересобрать приложение с Дженкинсом как
oc start-build my-app
Но это приведет к тому, что изменения моего шаблона не будут учитываться. Я также не могу использовать new-app, так как он не заменяет существующие конфиги, выдавая ошибку, подобную этой
--> Creating resources ...
error: services "my-app" already exists
....
--> Failed
Теперь есть способ решить эту проблему. Может быть, что-то вроде команды new-app replace, где заменяются все конфиги? В настоящее время я решаю эту проблему, полностью убивая приложение с помощью файла оболочки, а затем снова вызывая его, но это всегда приводит к простоям в несколько минут, что действительно беспокоит меня