构建PHP Web应用程序系统

时间:2010-04-01 15:44:16

标签: php unix build automation deployment

我想开始自动化更多的Web开发过程,所以我正在寻找一个构建系统。我主要在Mac OS X上编写PHP应用程序,并通过FTP部署Linux服务器。我的很多客户都有基本的托管服务提供商,因此通常无法访问其服务器的shell访问权限,但通常会出现远程MySQL访问。这是我想用构建系统做的事情:

  • 建设时:
    • Lint JavaScript Files
    • 验证CSS文件
    • 验证HTML文件
    • 缩小并连接JS和CSS文件
    • 验证PHP语法
    • 设置调试/生产标志
  • 部署时
    • 从SVN查看最新版本
    • 运行构建过程
    • 通过FTP将文件上传到服务器
    • 在远程数据库上运行SQL脚本

我意识到自动化需要做很多工作,但我认为这是值得的。那么开始这条道路的最佳方式是什么?是否有可以处理构建和部署的系统,还是应该搜索单独的解决方案?你会推荐什么系统?

2 个答案:

答案 0 :(得分:6)

您要求的所有内容都可以通过Phing

完成

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

Phing提供以下功能:

  • 简单XML构建文件
  • 丰富的提供任务集
  • 可通过PHP类轻松扩展
  • 独立于平台:适用于UNIX,Windows,MacOSX
  • 没有必要的外部依赖
  • 内置&针对ZendEngine2 / PHP5进行了优化

答案 1 :(得分:3)

您可能还想查看Hudson,这是一个可扩展的持续集成服务器。 支持的功能可用here

在其他语言中,它支持PHP。 This article为PHP提供了一些不错的插件。该文章还建议Phing进行构建。详见戈登的答案。