我正在使用PHPUnderControl,它运行在Cruise Control之上,用于我的持续集成和单元测试.我还设置了运行PHPDocumentor来为我生成phpdoc,它运行PHP Code Sniffer来为我强制执行编码标准.但现在我想在同一台服务器(Ubuntu)上设置一些东西,以便更容易地部署到远程服务器.我已经设置好了,所以每次成功构建后,SVN Export都会从trunk进入服务器上projects项目文件夹中的目录.
我一直在考虑编写一个小的自定义PHP脚本,它将SSH连接到已配置的远程服务器,压缩最新的导出,复制它,解压缩并运行任何迁移.这样的PHP脚本最初不应该太难,除非我最终需要开始扩展到多个服务器.我知道有像Phing,Fabric等系统.
我的问题是,如果有人有这方面的经验,可以提供一些专业和骗局?我已经开始在我的服务器上设置Phing,并将尝试使用Fabric来玩它们,但是想知道是否有人更广泛地使用它们,或者不得不扩展它们,可以提供一些反馈.
我已经将Capistrano与PHP一起使用(尽管它更像是Rails-y,因为它是用Ruby编写的).
它的使用非常简单,但是我说它不需要用它来扩展.我们确实部署到各种不同的登台/生产服务器,并且多阶段扩展在这些场景中非常有用.
然而像Ruby这样的大多数东西,有很多钩子和"魔法",如果你是Capistrano的新手,并试图用它来做一些棘手的事情,那会让人感到困惑.
至于它与其他部署工具的比较,我无法发表评论.我知道我们曾经使用Phing,但我不确定为什么我们转向Capistrano.