【问题标题】:Django Deployment AdviceDjango 部署建议
【发布时间】:2010-10-01 19:38:06
【问题描述】:

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

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

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

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

【问题讨论】:

  • 为什么不在项目目录之外设置上传目录?
  • Django 不喜欢你这样做。我知道这是可能的,但我已经用这种方式编写了大量代码。

标签: django svn deployment


【解决方案1】:

您可能想观看 Jacob 的 this presentation。它可以帮助您改进部署过程。

我使用 Bitbucket 作为我的存储库,我可以简单地在我的 Dev box 上执行 push 并在 Stage/Prod box 上运行 pull/update。实际上我不手动运行它们,我使用fabric 为我做它们:)。

【讨论】:

    【解决方案2】:

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

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

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

    有关其他部署方法,请参阅此问题:

    Django deployment tools

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-13
        • 2018-10-21
        • 2020-04-13
        • 1970-01-01
        • 2014-11-05
        • 1970-01-01
        • 2010-09-23
        相关资源
        最近更新 更多