我开始作为一个独立的网络开发和最近,我吓跑了一个客户给予报价为一个相当简单 网站是相当一位高于他们的预期。它基本上是 brochureware,他们可以做自己的托管解决方案 喜欢Wordpress.com 或谷歌地点。除了 一个 关键要素, 我认为它将是一个很好的配合,而这些适当的网络 发展的可能动机。

当看的任务,我列出在我粗略的估计很漂亮 明显我大多数时间里都是东西,是不是 具体到这个客户的网站。这让我想想,我应该 有一个脚本到实现自动化进程的设置和部署新的 Django项目。

一对夫妇的事情仍然必须手动完成的,如:

  • 设立了一个新的VP(或在大多数情况下只是去与virtualhosts在现有VP).

  • 编辑DNS设置一点clientsdomain.com 和test.clientsdomain.com 到新的车辆定位系统。

  • 设立SSH的钥匙

  • 编辑配置文件。

脚本,然后会做这样的东西:

  • 安装一些必需的软件包上的新VP

  • 安装默认的一个令的防火墙上的新VP

  • 加入服务器/apache配置clientsdomain.com 和test.clientsdomain.com

  • 设立新的数据库,用于生产和试验车辆定位系统和发展关于我的地方机。

  • 创建一个新的Django项目,并把它放在健康.

  • 设置settings.py 和local_settings.py 对生产、试验和发展

  • 设立了异地backuproutines用于生产数据库,上载的文件目录。

  • 启用默认的一些应用程序:简单页面,管理员

  • 添加一些样板模板,一对夫妇的样板简单页面和导航栏.

  • 添加960.gs CSS-框架

  • 添加jQuery

  • 设立djapian或海捞针(包括cron工作自动更新)进行搜索。

  • 设立了一个新谷歌的分析,配置文件。

  • 包括可能性,复制数据库之间的生产、测试和发展

  • 设立监测Pingdom

我用 瑞克织物 对于有些类似(但不那么雄心勃勃的)东西的过去和我的思维,布料可能是一个很好适合这个任务,但我仍然喜欢你的输入。是否还有其他的工具,我应该看看?我听说过很好 事情有关 傀儡 但是,只看他们的网站(它包含一词企业)给我的感觉是,它可能会被矫枉过正为一个男子操作。

有帮助吗?

解决方案

我们目前使用Fabric + Breatutout进行。其他人说厨师或傀儡更适合(如果你想做服务器级别的东西,而不仅是应用程序级别)。

还有django有一些专门的托管人,占据了很多负载,我特别喜欢 http://ep.io 我们用来为 django来供电的全自动部署-CMS ,也许您也应该查看这些托管提供商,而不是将自己限制在您的VPS中,这对您提供了更多的开销。

其他提示

木偶似乎令人望而生畏,矫枉过正的小型项目,因为它是如此经常用于庞大的部署,但我用它来管理只是一个机器 独立模式 没有一个客户服务器安装所以我没有处理SSL证书和多台机器,这使事情很简单,但仍然给我的利益,我可以做的真快灾后恢复或移动我的主持没有很多的努力。还有一些 伟大的原因 (幂等性、交叉平台支持,整个生命周期管理、抽象的、简洁的Dsl)使用现代化的配置管理系统的系统基本上脚本做ssh在一个循环或依靠的平台,你锁。

检查了 学习木偶 对于一个快速上升,包括实例和一个虚拟机场。你可以得到真正有用的事情做完简单的木偶剧本(清单),独立运行,然后开始学习所有先进的功能,一旦需要他们。

另一个好处是,大量的木偶戏的表现和模块已经由其他的,和他们共用的 建立傀儡 和许多其他的 先进的用户的傀儡.

我已经考虑到这一切最近有人在一个类似的立场。

很多你有什么提到可以帮助通过设立一些很好的框架代码,可以从工每一个新的项目。

看看这对于一个良好的起点,一般戈项目框架码

http://blog.zacharyvoase.com/2010/02/03/django-project-conventions/

我放在一起类似的东西这让我得到快速建立和运行,还要单独的服务器的东西从项目的东西。这是非常重要,因为它可以让你到版本控制每个项目没有包括系统/服务器的文件。 它在这里 (仍在进行中).这需要照顾的文件夹的布局,额外css样板html的东西,电网/960的东西。,发展vs生产设置、数据库的设置(mostely)、默认的安装应用程序等。这里是 布局解释

使用 虚拟环境, Virtualenvwrapper来 & pip 允许设立独立的、封装蟒蛇的环境里是伟大的运行多个项目在一个车辆定位系统。Pip可以让你安装的软件包给一个特定的virualenv和也输出所有你的包裹文本文件,可以进口。这使得重新部署码从发展到生产非常快。它还允许编写的一般要求的文件在您的干代码自动安装了所有正常的django即应用程序django标记等。

在数据库中,我已经停止试图拥有的发展数据库和生产数据库在不同的机,这太难以进出口的固定装置。现在我只有独立的生产及开发数据库,在车辆定位系统和远程连接(通过ssh),以开发一个在发展中国家。你可以很容易地复制另一个人这是很好的。

当一切都准备好后,可以部署,从发展到生产使用织物(我还没有得到陷入这个所以我不确定其便于使用)

我会非常感兴趣地听到其他人的想法对这个因为我是有关到后类似的东西!

Check out Silk Deployment, which is based on Fabric and is used to deploy Django (or any WSGI) + Nginx + Gunicorn:

http://pypi.python.org/pypi/silk-deployment/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top