Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Build Systems for PHP Web Apps [closed]

I want to start automating more of my web development process so I'm looking for a build system. I write mostly PHP apps on Mac OS X and deploy Linux servers over FTP. A lot of my clients have basic hosting providers so shell access to their servers is typically not available, however remote MySQL access is usually present. Here is what I want to do with a build system:

  • When Building:
    • Lint JavaScript Files
    • Validate CSS Files
    • Validate HTML Files
    • Minify and concatenate JS and CSS files
    • Verify PHP Syntax
    • Set Debug/Production flags
  • When Deploying
    • Checkout latest version from SVN
    • Run build process
    • Upload files to server via FTP
    • Run SQL scripts on remote DB

I realize this is a lot of work to automate but I think it would be worth it. So what is the best way to start down this path? Is there a system that can handle builds and deploys, or should I search for separate solutions? What systems would you recommend?

like image 808
joshwbrick Avatar asked Apr 01 '10 15:04

joshwbrick


1 Answers

All you ask for can be done with Phing

Phing is a deployment framework written in PHP and modeled after Apache Ant. It comes with a large set of ready-to-use deployment tasks, including database deployment, remote file transfers and VCS connectivity. If you are missing functionality, you can extend Phing with standard PHP.

Phing provides the following features:

  • Simple XML buildfiles
  • Rich set of provided tasks
  • Easily extendable via PHP classes
  • Platform-independent: works on UNIX, Windows, MacOSX
  • No required external dependencies
  • Built & optimized for ZendEngine2/PHP5
like image 158
Gordon Avatar answered Sep 27 '22 21:09

Gordon