从runserver移动到生产服务器

时间:2011-06-29 18:57:22

标签: django linux svn textmate

我对编程很陌生,我的所有开发都使用textmate和terminal在我的本地runserver上。我写了一个有几百的小应用程序,我想把它推到EC2服务器上。我在“开发工具”方面的唯一知识是Django的本地runserver,TextMate和Terminal。

我应该学习哪些工具或程序才能学习能够拥有有效的工作流程?我应该在TextMate上使用某种IDE吗?我主要担心的是能够在我的本地运行服务器上进行开发,然后无痛地将其推送到我的生产服务器。

2 个答案:

答案 0 :(得分:3)

正如@isbadawi所说,使用Fabric。它比使用终端更好,因为你可以自动化。就部署而言,您可以将其简化为:fab -H your.host.com deploy。在您编写命令的文件中,可以使用简单的命令:

  1. 导致服务器从SCM下载最新代码
  2. 更新数据库(syncdb / migrations /你有什么)
  3. 导致apache或您正在使用的任何内容重新加载配置
  4. 至于一些更一般的提示:

    • 如果您正在使用WSGI,请将其置于源代码管理下
    • 与本地设置文件相同,让部署脚本将其重命名为local_settings.py,作为构建的一部分

    如果您真的想要无痛,请查看Django托管服务,例如GondorEp.io。虽然你必须更改一些设置以便更好地匹配他们,但是那些客户端你可以直接部署到伪设备上,因为有许多方法可以部署Django应用程序。

    更新:Ep.io已不再作为托管服务投放业务。我的新内容是Heroku

    更新2:我曾经在部署中链接local_settings.py,但现在我倾向于使用DJANGO_SETTINGS_MODULE配置变量。有关这样做的好方法,请参阅rdegge's "django-skel" settings

答案 1 :(得分:1)

诸如git或Mercurial之类的DVCS将允许您在本地进行开发和测试,然后将更改推送到远程系统进行分段和生产。