在不停机的情况下将 Django 应用程序部署到 OpenShift 的最佳方法?
Best way to deploy Django app to OpenShift without downtime?
一段时间以来,我一直在将我的 Django 应用程序的新版本推送到 OpenShift。起初我使用 general git push
命令。但后来我不得不添加一些长 运行 部署命令。长话短说,完成部署大约需要半小时 -> 我的应用程序不可用。
所以我启用了 Jenkins,但是 并且应用程序也有一段时间不可用。 Jenkins 在一个齿轮上运行,创建新齿轮,而我总是有 4 个齿轮 运行。 (一个是付费的,因为Jenkins不能正常工作,还活着一段时间)
我读过 hot deploy(第 40 页)也可以在没有停机时间的情况下工作,但我担心一致性(不确定在哪里可以阅读更多相关信息)。
因此,如何推送到 OpenShift 有这 3 个选项。我可以使用任何第三方服务吗?
如何推送到 OpenShift 以最大程度地减少停机时间和可能使用的齿轮数量?
我认为您已经基本回答了自己的问题,如果您的应用需要持续交付,请进行热部署。
我不确定你对一致性有什么顾虑,但如果你有这些顾虑,那么就将 Jenkins 用于最初的 CI 目的,然后只有在一切正常的情况下,你才能将其推向生产使用热部署。
基本上,我会有这样的工作流程:
- 进行更改并提交
- 将其推送到 Jenkins CI server,检查测试和构建是否通过
- 使用 hot deployment
将构建推向您的齿轮
一段时间以来,我一直在将我的 Django 应用程序的新版本推送到 OpenShift。起初我使用 general git push
命令。但后来我不得不添加一些长 运行 部署命令。长话短说,完成部署大约需要半小时 -> 我的应用程序不可用。
所以我启用了 Jenkins,但是
我读过 hot deploy(第 40 页)也可以在没有停机时间的情况下工作,但我担心一致性(不确定在哪里可以阅读更多相关信息)。
因此,如何推送到 OpenShift 有这 3 个选项。我可以使用任何第三方服务吗?
如何推送到 OpenShift 以最大程度地减少停机时间和可能使用的齿轮数量?
我认为您已经基本回答了自己的问题,如果您的应用需要持续交付,请进行热部署。
我不确定你对一致性有什么顾虑,但如果你有这些顾虑,那么就将 Jenkins 用于最初的 CI 目的,然后只有在一切正常的情况下,你才能将其推向生产使用热部署。
基本上,我会有这样的工作流程:
- 进行更改并提交
- 将其推送到 Jenkins CI server,检查测试和构建是否通过
- 使用 hot deployment 将构建推向您的齿轮