我正在使用在 Cruise Control 之上运行的PHPUnderControl进行持续集成和单元测试。我还设置了它来运行 PHPDocumentor 为我生成 phpdoc,它运行 PHP Code Sniffer 来为我强制执行编码标准。但现在我想在同一台服务器(Ubuntu)上设置一些东西,以便更轻松地部署到远程服务器。我已经设置好了,所以在每次成功构建后,SVN 导出都是从主干到服务器上项目文件夹中的一个目录中完成的。
我一直在考虑编写一个小的自定义 PHP 脚本,它将通过 SSH 连接到配置的远程服务器,压缩最新的导出,复制它,解压缩并运行任何迁移。像这样的 PHP 脚本最初不应该太难,除非我最终需要开始扩展到多台服务器。我知道那里有像Phing、Fabric等系统。
我的问题是,是否有人对这些有任何经验并且可以提供一些优点和缺点?我已经开始在我的服务器上设置 Phing,接下来将尝试使用 Fabric 来使用它们,但想知道是否有人更广泛地使用它们,或者必须扩展它们,可以提供一些反馈。