基于LAMP的应用程序的自动集成和登台环境

时间:2009-12-08 22:01:39

标签: php deployment automation lamp

将基于LAMP的应用程序(MySQL,PHP,Zend Framework)自动部署到集成和登台环境中,什么是一个很好的工具? 我正在寻找专门处理远程主机部署的工具。我假设建筑工具如phing和ant我认为可以用于此,但我想知道这种情况是否有更好的东西。

2 个答案:

答案 0 :(得分:1)

对于集成,特别是对于持续集成,我喜欢phpUnderControl (这是一个用于PHP项目的工具,但它本身基于CruiseControl,这在JAVA World中非常有用) :它处理:

  • 从SVN获取最新修订
  • 启动自动化测试(PHPUnit)
  • php_CodeSniffer
  • 生成PHP文档(phpDocumentor)
  • 并为用户提供了一个很好的界面,可以查看每个版本的结果。

首先,这是一篇解释如何设置phpUnderControl的文章:Getting started with phpUnderControl
(每次我或某些同事安装了phpuc,我们几乎按照那篇文章中的解释,从我记得的内容开始)


对于暂存,我通常会使用几个phing任务来构建tar.gz存档,我会偶尔部署到登台服务器,使用另一个phing任务来解压缩存档,并创建所需的符号链接(或类似的东西)

这个想法是持续集成一直在发生,并且必须是全自动的,而部署到暂存只是偶尔进行一次(例如每周一次),并且可以半自动完成。

答案 1 :(得分:0)

配置构建服务器,例如CruiseControl非常适用于此并在需要时滚动您自己的自定义Nant脚本或使用Exec任务来处理部署。

对于像配置问题和错综复杂的特定部署这样的事情,几乎没有任何开箱即用的东西。

以这种方式看待它,滚动你自己的脚本和批处理文件肯定意味着你知道所有关于步骤的事情,并且无论如何都可以配置和修改它,而不是一些神奇的尘埃落定,当事情破裂 - 没有想法在哪里解决它。