我们目前使用手动设置和配置脚本以及手动持续集成脚本来构建和部署我们的应用程序。我正在考虑使用为这些目的设计的第三方系统将其正式化。
我以前研究过 Phing,我知道它基本上就像 Ant。但是,我的 Ant 经验有些有限,所以对我没有多大帮助。(我所做的大部分 Java 工作只是部署为 jar 文件)。
之前研究过Cruise Control,了解到phpUnderControl是CC的一个插件。但是,Phing 说它也适用于 CC。所以我不清楚这里的重叠。我是否需要 Phing 和 phpUnderControl 才能与 CruiseControl 一起工作,还是它们是互斥的?
我真正需要的是可以:
- 查看来自 SVN 的源代码
- 从 SQL 文件安装数据库
- 从一系列模板和一个ini文件生成一些本地配置文件
- 运行我们所有的单元测试(目前是 ST,但很容易转换为 PHPUnit)并在任何测试中断时向开发团队发送电子邮件(当然还有堆栈跟踪)
- 为应用程序生成 API 文档并将其放在某处
- 运行测试覆盖率报告
现在,我们几乎以一种或另一种形式拥有所有这些。但是,将所有这些自动化并捆绑在一个过程中会很好。