I am currently building and deploying an Application with a template using
oc new-app -f ./openshift/template.yaml
I am using a template and not separate Deployment-, Build-, etc. configs because I also want to be able to pass parameters like
oc new-app -f ./openshift/template.yaml --p DATABASE_PW=PW
To my knowledge this is not possible using
oc create -f ./openshift/deploymentconfig.yaml --p SOME_PARAM=TEST
Now I have also integrated this is in a Build Pipeline with Jenkins. My problem is now this. This all works fine on the first deployment, but it will not work for a redployment. I can either just rebuild the app with Jenkins like
oc start-build my-app
But this will cause that changes is my Template will not be considered. I also cannot use new-app as it does not replace existing configs producing an error similar to this
--> Creating resources ...
error: services "my-app" already exists
....
--> Failed
Is there a way to solve this problem? Maybe something like a new-app replace
command where all the configs are being replaced? I am currently solving this by killing the app completely using a shell file and then bringing it up again; but that will always cause a downtime of a few minutes which really bothers me.