Django部署建议

时间:2010-10-01 19:38:06

标签: django svn deployment

我有一个多步骤部署系统设置,我在本地开发,有一个带有生产数据库副本的临时应用程序,然后是生产应用程序。我使用SVN进行版本控制。

部署我的生产应用程序时,我只是将urls.py和settings.py文件移动到一个目录中,使用rm -rf命令删除我的django app目录,然后从存储库执行svn导出,创建一个我的更新代码的新django app目录。然后我将我的urls.py和settings.py文件移回原位,一切正常。

我的新问题是我现在将用户上传存储在我的django应用程序内的文件夹中,所以我不能再删除整个应用程序目录了,否则我将丢失所有用户文件。

您认为我现在最好的方法是什么? svn export --force会工作,因为它应该覆盖我所有已更改的文件吗?我应该采取一种全新的方法吗?我愿意接受建议吗?

3 个答案:

答案 0 :(得分:2)

你可能想看雅各布的this presentation。它可以帮助您改进部署过程。

我使用Bitbucket作为我的回购,我可以简单地在我的开发盒上执行push并在Stage / Prod框上运行pull / update。其实我不是手动运行它们,我使用fabric为我做这些:)。

答案 1 :(得分:1)

您可以使用rsync或类似方法备份上传的文件,并在部署项目时使用此备份。

对于部署,您可以尝试使用buildout:

http://www.buildout.org/
http://pypi.python.org/pypi/djangorecipe
http://jacobian.org/writing/django-apps-with-buildout/

对于其他部署方法,请参阅此问题:

Django deployment tools

答案 2 :(得分:0)

您可以将文件移动到S3服务器(http://aws.amazon.com/s3/),这样您就不必关心将它们与项目一起移动。