一段时间以来,我一直在将Django应用程序的新版本推向OpenShift。起初,我使用通用git push
命令。但后来我不得不添加一些长期运行的部署命令。长话短说,大约花了半个小时才完成部署->我的应用程序不可用
所以我启用了Jenkins,但第一次推送总是失败,应用程序也有一段时间不可用。詹金斯用一个档位跑,创造了新的档位,而我总是用4个档位。(其中一个是有报酬的,因为詹金斯工作不正常,还活着一段时间)
我读过热部署(第40页)也可能在没有停机的情况下工作,但我担心一致性(不知道从哪里可以了解更多信息)
因此,有这3个选项如何推动到OpenShift。我可以使用任何第三方服务吗?
如何推动OpenShift以最大限度地减少停机时间和可能使用的档位数量
我认为您已经基本回答了自己的问题,如果您需要在应用程序上持续交付,请进行热部署。
我不确定您对一致性的担忧是什么,但如果您有,那么就将Jenkins用于最初的CI目的,只有在一切正常的情况下,您才能使用热部署将其推向生产。
基本上,我会有这样一个工作流程:
- 进行更改并提交
- 将其推送到Jenkins CI服务器,检查测试和构建是否通过
- 使用热部署将构建推向您的装备