我目前正在使用模板构建和部署应用程序
oc new-app -f ./openshift/template.yaml
我使用的是模板而不是单独的部署、构建等配置,因为我还希望能够传递参数,例如
oc new-app -f ./openshift/template.yaml --p DATABASE_PW=PW
据我所知,这是不可能使用的
oc create -f ./openshift/deploymentconfig.yaml --p SOME_PARAM=TEST
现在我也将它集成在与 Jenkins 的构建管道中。我现在的问题是这个。这一切都适用于第一次部署,但它不适用于重新部署。我可以像 Jenkins 一样重建应用程序
oc start-build my-app
但这会导致更改是我的模板将不会被考虑。我也无法使用 new-app,因为它不会替换现有配置,从而产生类似于此的错误
--> Creating resources ...
error: services "my-app" already exists
....
--> Failed
有没有办法解决这个问题?可能类似于new-app replace
替换所有配置的命令?我目前正在通过使用 shell 文件完全杀死应用程序然后再次启动它来解决这个问题;但这总是会导致几分钟的停机时间,这真的让我很困扰。