如何在Openshift上更新Django?

时间:2015-03-13 09:05:28

标签: django python-2.7 deployment openshift updates

我正在学习在Openshift上部署Django。 现在我有一个python-2.7盒式磁带并运行Django 1.6 克隆在墨盒中的git repo是

git://github.com/rancavil/django-openshift-quickstart.git(Github

如何更新正在运行的webapp的Django版本?

我已经查看了this问题,该问题只是解释了有关更换磁带的问题,而我还要求更新磁带盒内的磁带包,同时保持墨盒与python-2.7相同。

2 个答案:

答案 0 :(得分:0)

实现此目的的最简单方法是在install_requires中更改setup ()}的设置依赖关系(setup.py参数)。而不是

packages = ['Django<=1.6',]

就像在墨盒默认情况下你可以写

packages = ['Django>=1.7,<1.8',]

获取最新版本的Django 1.7。有关如何指定值的更多详细信息,请参阅Python Packaging User Guide

使用您的下一个git push,如果需要,将执行此文件并更新软件包。

答案 1 :(得分:0)

警告!

  • 确保您的应用可以使用新版本。 Django 1.7带来了数据库迁移功能,这可能会破坏您的兼容性。 (我们之前遇到过一些问题。)
  • 在应用升级备份之前,应用程序实例快照(需要时间)

实际上,当你的应用程序崩溃时,git push需要一些时间。 如果您想缩短时间,可以采用以下方法:

ssh到您的应用程序openshift服务器

pip install --upgrade Django==<new version>

那将立即升级django。但是,正在运行的Web进程仍保留旧版本。所以你需要重新启动python cartridge。

从本地命令行:

rhc cartridge restart -a <your app> -c python

现在它使用新的django并且停机时间很短。

确保更新另一个答案中提到的setup.py,以便与下一个git push保持一致。