为PHP Web应用程序构build系统

我想开始自动化更多的Web开发过程,所以我正在寻找一个构build系统。 我主要在Mac OS X上编写PHP应用程序,并通过FTP部署Linux服务器。 我的很多客户端都有基本的托pipe服务提供商,所以对其服务器的shell访问通常是不可用的,但是远程MySQL访问通常是存在的。 下面是我想要build立一个构build系统的方法:

  • build筑时:
    • Lint JavaScript文件
    • validationCSS文件
    • validationHTML文件
    • 缩小和连接JS和CSS文件
    • validationPHP语法
    • 设置debugging/生产标志
  • 部署时
    • 从SVN检出最新版本
    • 运行构build过程
    • 通过FTP上传文件到服务器
    • 在远程数据库上运行SQL脚本

我意识到这是很多工作自动化,但我认为这将是值得的。 那么开始这条道路的最好方法是什么? 有没有一个可以处理构build和部署的系统,还是我应该寻找单独的解决scheme? 你会推荐什么系统?

你所要求的可以用Phing完成

Phing是一个用PHP编写的部署框架,以Apache Ant为模型。 它配备了大量随时可用的部署任务,包括数据库部署,远程文件传输和VCS连接。 如果您缺少功能,则可以使用标准PHP扩展Phing。

Phing提供以下功能:

  • 简单的XML构建文件
  • 丰富的提供的任务
  • 通过PHP类轻松扩展
  • 独立于平台:适用于UNIX,Windows,MacOSX
  • 没有需要的外部依赖
  • 为ZendEngine2 / PHP5构建和优化

你可能也想看看哈德森 ,一个可扩展的持续集成服务器。 支持的功能在这里可用。

在其他语言中,它支持PHP。 本文为PHP提供了一些很好的插件。 该文章还建议Phing的建设。 有关详细信息,请参阅Gordon的答案。