2015-03-13 65 views
0

我正在学习在Openshift上部署Django。 现在我有一个python-2.7盒向上和Django 1.6 在墨盒克隆的git仓库正在运行,如何在Openshift上更新Django?

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

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

我看过this问题,只是解释更新墨盒,而我问的是更新墨盒内的包,同时保持墨盒与python-2.7相同。

回答

0

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

packages = ['Django<=1.6',] 

在墨盒默认你可以写

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

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

随着你的下一个git push这个文件将被执行并且软件包得到更新,如果需要的话。

0

警告!

  • 确保新版本可以为您的应用程序。 Django 1.7带来了数据库迁移功能,这可能会破坏你的兼容性。应用升级备份应用程序实例快照(需要时间)

其实混帐推花费一些时间,而您的应用程序会有所回落之前(我们有一些问题,因为我们之前使用的南部。)

  • 。 如果你想缩短时间,你可以按照这个方法:

    SSH连接到您的应用程序服务器openshift

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

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

    从你的本地命令行:

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

    现在,它与新的Django和停机时间的运行是最小的。

    请确保更新setup.py,如其他答案中所述,以便与​​下一个git push进行对齐。