有没有人使用Phing来部署PHP应用程序,如果是这样,你如何使用它?我们目前有一个手写的"设置"脚本,只要我们部署项目的新实例,我们就会运行该脚本.我们只是从SVN退房并运行它.它设置一些基本配置变量,安装或重新加载数据库,并为站点实例生成v-host.
我经常想到也许我们应该使用Phing.我没有多少使用过ant,所以除了脚本将文件从一个地方复制到另一个地方以外,我没有真正意识到Phing应该做什么,就像我们的设置脚本那样.您可以提供哪些更高级的用法,以帮助我理解为什么我们愿意或不想将Phing集成到我们的流程中?
来自Federico Cargnelutti的博文:
功能包括文件转换(例如令牌替换,XSLT转换,Smarty模板转换),文件系统操作,交互式构建支持,SQL执行,CVS操作,用于创建PEAR包的工具等等.
当然,您可以为上述所有内容编写自定义脚本.但是,使用像Phing这样的专用构建工具可以带来许多好处.您将使用经过验证的框架,因此您无需担心设置"基础架构",而是可以专注于您需要编写的代码.使用Phing还可以让新成员加入您的团队时更容易,如果他们之前使用过Phing(或者Ant,这是Phing所基于的),他们将能够理解发生了什么.
我之所以从Ant迁移到Phing只是因为'它是PHP.我使用它从不同的subversion存储库导出,复制东西,构建不同的安装包等等所有这些都使用20行可重用的xml文件和具有项目特定内容的配置文件.我无法用自定义脚本快速完成任务.我还计划集成api文档生成和单元测试.爱它!
对我来说,令人信服的答案是phing理解PHP类路径.蚂蚁没有.我不想让一个ant build.xml充满exec命令.我碰巧主要是一个java程序员,仍然使用phing.这是这项工作的最佳工具.