如何镜像我的网站进行更改

时间:2014-04-11 17:36:16

标签: django

我在Django为一个组织制作网站。一切都很好,但每次我都想改变一些东西,我会尝试在当地"镜像" (所有文件都被复制)网站,如果一切正常,我会推送"它到实际的网页。有时,例如小模板编辑等我在实际的网页上做,因为制作新副本很无聊。

所以我的问题是:是否有类似github commit-push系统的东西用于开发网站?什么,什么会允许我从实际网页到我的(不一定是本地)副本进行单向同步,并且在这个副本上尝试这些更改后,我可以“推送”#34;到主要(当然只改变了文件)?

由于

1 个答案:

答案 0 :(得分:0)

您可能需要查看Fabric。它本质上是ssh的包装器,是满足您所有部署需求的出色工具。使用Fabric,您可以编写所谓的" tasks"在Python中,你做通常在shell中做的所有重复的东西。

要根据您的开发环境更新您的生产环境(反之亦然),一些常见的事情是:

  • ssh into server
  • 激活virtualenv
  • cd到您的项目目录
  • git update
  • 收集静态文件
  • 触摸wsgi文件
  • 复制一些媒体文件(通过rsync,sftp或其他)
  • 转储或导入数据库
  • ...

现在使用Fabric,您可以将所有这些内容包装在任务中,以后可以从您的开发环境中运行。

可能需要一段时间才能为您的特定环境和需求编写和组合所有任务,但这非常值得付出努力。