我对编程颇为陌生,我的所有开发都使用textmate和终端在我的本地runserver上。我写了一个有几百个小应用程序,我想推到EC2服务器。我在'开发工具'方面的唯一知识是Django的本地runserver,TextMate和Terminal。从runserver移动到生产服务器
我应该研究哪些工具或程序能够获得有效的工作流程?我应该在TextMate上使用某种IDE吗?我的主要担忧是能够在我的本地runserver上开发,然后无痛地将其推送到我的生产服务器。
我对编程颇为陌生,我的所有开发都使用textmate和终端在我的本地runserver上。我写了一个有几百个小应用程序,我想推到EC2服务器。我在'开发工具'方面的唯一知识是Django的本地runserver,TextMate和Terminal。从runserver移动到生产服务器
我应该研究哪些工具或程序能够获得有效的工作流程?我应该在TextMate上使用某种IDE吗?我的主要担忧是能够在我的本地runserver上开发,然后无痛地将其推送到我的生产服务器。
DVCS如git或Mercurial将允许您在本地进行开发和测试,然后将更改推送到远程系统进行分段和生产。
你在说什么,设置后接收钩子,然后推?那会很惬意。 –
或者只是设置一个推送和反弹服务器的生成文件。 –
所以使用TextMate + Terminal + git就足够开发了。工具?从头开始学习git有多困难(即基础知识,只是为了能够推送文件和更改到服务器)? – David542
正如@isbadawi所说,使用Fabric。这比使用终端好,因为你可以自动化。就部署而言,您可以将其简化为:fab -H your.host.com deploy
。你写命令的文件里面,一个简单的可以去:
至于一些更一般的技巧去:
local_settings.py
作为构建如果你真的要为无痛性,考虑的一部分Django托管服务,如Gondor或Ep.io。这些客户端可以轻松地进行虚拟部署,尽管您需要更改您的设置以更好地匹配他们的设置,因为有许多方法可以部署Django应用。
更新: Ep.io不再作为托管服务商。我的新去处是Heroku。
更新2:我曾经在部署中链接local_settings.py
,但现在我倾向于使用DJANGO_SETTINGS_MODULE
配置变量。见rdegge's "django-skel" settings是一个很好的方法来做到这一点。
更新:Heroku现在也做Django托管,并且非常简单。他们建议你使用gunicorn作为服务器软件包。 –
我会考虑使用[Fabric](http://docs.fabfile.org/en/1.0.1/index.html)。 –
@isbadawi:为什么?和终端有什么不同? – David542