9

我们目前使用手动设置和配置脚本以及手动持续集成脚本来构建和部署我们的应用程序。我正在考虑使用为这些目的设计的第三方系统将其正式化。

我以前研究过 Phing,我知道它基本上就像 Ant。但是,我的 Ant 经验有些有限,所以对我没有多大帮助。(我所做的大部分 Java 工作只是部署为 jar 文件)。

之前研究过Cruise Control,了解到phpUnderControl是CC的一个插件。但是,Phing 说它也适用于 CC。所以我不清楚这里的重叠。我是否需要 Phing 和 phpUnderControl 才能与 CruiseControl 一起工作,还是它们是互斥的?

我真正需要的是可以:

  • 查看来自 SVN 的源代码
  • 从 SQL 文件安装数据库
  • 从一系列模板和一个ini文件生成一些本地配置文件
  • 运行我们所有的单元测试(目前是 ST,但很容易转换为 PHPUnit)并在任何测试中断时向开发团队发送电子邮件(当然还有堆栈跟踪)
  • 为应用程序生成 API 文档并将其放在某处
  • 运行测试覆盖率报告

现在,我们几乎以一种或另一种形式拥有所有这些。但是,将所有这些自动化并捆绑在一个过程中会很好。

4

3 回答 3

8

phing 几乎是用 PHP 编写的 ant,其中 phpUnderControl 向 CruiseControl 添加了对 PHP 项目的支持,并在后端使用 phing 或 ant 来解析 build.xml 文件并运行命令。

我刚刚设置了 CruiseControl 和 phpUnderControl,它运行良好。它检查我的 SVN,在我们检查时通过 phpDocumentor、PHP_CodeSniffer 和 PHPUnit 运行它。由于它完全基于 build.xml 文件,您可以通过它运行几乎任何您想要的软件。

于 2008-09-26T19:14:41.717 回答
2

我相信很多人会在我输入这个时说这个,但是......

我知道这不是 PHP,但我们发现Capistrano只是这种事情的工作。它确实是一款出色的软件。

于 2008-09-26T19:10:10.760 回答
2

我们一直在使用 Phing,而且设置它的成本非常低;即使您不了解 ANT,它也很容易学习。我对 CruiseControl 的体验非常糟糕(不稳定 - 随机下降) - 所以我喜欢 Phing 的简单性。另外,它可以使用 PHP 轻松扩展(如果您有一个自定义任务,他们不支持开箱即用)。

于 2008-09-26T20:25:42.140 回答