English 中文(简体)
你使用网络钓鱼吗?[已关闭]
原标题:
  • 时间:2008-08-31 05:04:34
  •  标签:

有人使用Phing来部署PHP应用程序,如果是,你如何使用它?我们目前有一个手写的“setup”脚本,每当我们部署项目的新实例时都会运行。我们只需从SVN中签出并运行它。它设置一些基本配置变量,安装或重新加载数据库,并为站点实例生成一个v-host。

我经常想,也许我们应该使用Phing。我用蚂蚁的次数不多,所以我对什么没有真正的感觉Phing除了编写脚本之外,还应该像我们的设置脚本一样,将文件从一个地方复制到另一个地方。您可以举例说明哪些更高级的用途,以帮助我理解我们为什么要或不想集成Phing进入我们的流程?

最佳回答

来自Federico Cargneluti的博客文章

Features include file transformations (e.g. token replacement, XSLT transformation, Smarty template transformations), file system operations, interactive build support, SQL execution, CVS operations, tools for creating PEAR packages, and much more.

当然,您可以为以上所有内容编写自定义脚本。然而,使用像Phing这样的专业构建工具会给你带来很多好处。您将使用一个经过验证的框架,因此不必担心设置“基础设施”,您可以专注于需要编写的代码。使用网络钓鱼也会让新成员加入你的团队变得更容易,他们将能够了解如果他们以前使用过网络钓鱼(或蚂蚁,这是网络钓鱼的基础)会发生什么。

问题回答

对我来说,令人信服的答案是phing了解PHP类路径。Ant没有。我不想有一个充满exec命令的Ant build.xml。我碰巧主要是一名java程序员,现在仍在使用phing。这是最适合这份工作的工具。

我从Ant转到Phing只是因为它是PHP。我用它从不同的subversion存储库导出,四处复制东西,构建不同的安装包,等等,所有这些都有一个20行的可重用xml文件和一个包含特定项目内容的配置文件。我不可能用自定义脚本这么快就能完成。我还计划集成api文档生成和单元测试。喜欢它!

我们使用phing来部署语义瓶颈

  • generate zip archive for distribution
  • create PEAR package
  • upload zip to SourceForge
  • update the PEAR channel with the new package file
  • render reStructuredText documentation into html files and uploading them. Currently with exec but I m on the way writing a separate task for it.

上传zip文件和通道是通过rsync完成的,不幸的是,phing通过特殊任务不支持rsync,但使用exec总是可能的,而且效果很好。

最终,它节省了大量时间,并且我们能够用一个命令测试、打包和部署我们的应用程序(这为我们提供了Joel Test)。我不想没有它。

请参阅build.xml代码

我看不出有什么令人信服的理由和芬一起去。我的意思是,PHP程序员是否应该“仅仅因为”用PHP编写Eclipse插件可能更容易而尝试重写Eclipse?我不这么认为。

Ant有更好的文档,包括一些不错的o reilly书籍,而且它在Java世界中已经很成熟了,所以你可以避免(1)“我们还没有将功能X复制到phing”和(2)phing项目失败的风险这是一篇关于配置PHPUnit以使用ant和cruisecontrol的文章:没那么难。而且你可以免费获得eclipse集成。

祝你好运





相关问题
热门标签