2011-06-29 100 views
1

我对编程颇为陌生,我的所有开发都使用textmate和终端在我的本地runserver上。我写了一个有几百个小应用程序,我想推到EC2服务器。我在'开发工具'方面的唯一知识是Django的本地runserver,TextMate和Terminal。从runserver移动到生产服务器

我应该研究哪些工具或程序能够获得有效的工作流程?我应该在TextMate上使用某种IDE吗?我的主要担忧是能够在我的本地runserver上开发,然后无痛地将其推送到我的生产服务器。

+0

我会考虑使用[Fabric](http://docs.fabfile.org/en/1.0.1/index.html)。 –

+0

@isbadawi:为什么?和终端有什么不同? – David542

回答

1

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

+0

你在说什么,设置后接收钩子,然后推?那会很惬意。 –

+0

或者只是设置一个推送和反弹服务器的生成文件。 –

+0

所以使用TextMate + Terminal + git就足够开发了。工具?从头开始学习git有多困难(即基础知识,只是为了能够推送文件和更改到服务器)? – David542

3

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

  1. 导致服务器从SCM下载最新的代码
  2. 更新数据库(执行syncdb /迁移/你有什么)
  3. 让Apache或者你正在使用重新加载配置

至于一些更一般的技巧去:

  • 如果您“使用WSGI重,把它放在源控制下
  • 同去与当地的设置文件,让您的部署脚本它们重命名为local_settings.py作为构建

如果你真的要为无痛性,考虑的一部分Django托管服务,如GondorEp.io。这些客户端可以轻松地进行虚拟部署,尽管您需要更改您的设置以更好地匹配他们的设置,因为有许多方法可以部署Django应用。

更新: Ep.io不再作为托管服务商。我的新去处是Heroku

更新2:我曾经在部署中链接local_settings.py,但现在我倾向于使用DJANGO_SETTINGS_MODULE配置变量。见rdegge's "django-skel" settings是一个很好的方法来做到这一点。

+0

更新:Heroku现在也做Django托管,并且非常简单。他们建议你使用gunicorn作为服务器软件包。 –

相关问题