我有一个多步骤部署系统设置,我在本地开发,有一个带有生产数据库副本的临时应用程序,然后是生产应用程序。我使用SVN进行版本控制。
在部署我的生产应用程序时,我只是将django和settings.py文件上移一个目录,使用rm -rf命令删除我的django应用程序目录,然后从存储库进行svn导出,这将使用我更新的代码创建一个新的django应用程序目录。然后,我将我的urls.py和settings.py文件移回原位,一切工作正常。
我的新问题是,我现在将用户上传的内容存储在我的django应用程序中的一个文件夹中,所以我不能再删除整个应用程序目录,否则我会丢失所有用户文件。
你认为我现在最好的方法是什么?svn export --force可以工作吗,因为它应该覆盖我所有更改过的文件?我应该采取一种全新的方法吗?我愿意接受建议吗?
发布于 2010-10-02 05:14:30
你可能想看雅各布的this presentation。它可以帮助您改进部署过程。
我使用Bitbucket作为我的repo,我可以简单地在我的Dev box上执行push,并在Stage/Prod box上运行pull/update。实际上,我不会手动运行它们,我使用fabric为我自己运行它们:)。
发布于 2010-10-02 05:50:22
您可以使用rsync或类似的工具来备份您上传的文件,并在部署项目时使用此备份。
对于部署,您可以尝试使用buildout:
http://www.buildout.org/
http://pypi.python.org/pypi/djangorecipe
http://jacobian.org/writing/django-apps-with-buildout/有关其他部署方法,请参阅以下问题:
发布于 2010-10-02 12:47:12
您可以将文件移动到S3服务器(http://aws.amazon.com/s3/),这样您就不必担心将它们与项目一起移动。
https://stackoverflow.com/questions/3842476
复制相似问题