automated build process

A couple of years ago, everybody was fascinated by automating build processes with ANT. This more modern version of MAKE worked with XML (how hipp) and Java. Instead of the old shell-level make environment, everything was contained in nice java packages and quite extendible. Some PHP users (including me) hopped on that train to automate packaging and some build-like PHP postprocessing. With PHING, even a PHP version of ANT is available. Nowadays the java guys have moved forward. Martin Fowler described in an article in 05 the benefits of the Ruby driven domain specific scripting language called RAKE over ANT and MAKE. In other places you read that build scripting has large benefits over configuration based systems especially for large systems. It seems like innovation is more and more driven by Ruby these days...

Since i am a PHP guy, i asked myself a few questions instead of just repeating the Java world (which i used to be part of some years ago, but now things are different).

What do we need from a build system in PHP?

- SVN support

- ZIP support

- Embedding of a JS compressor (ok, that was not easy, needed rhino which is java again)

- manipulating / generating config files out of configuration databases

- logging of deployment processes

- building RPMs

- transferring packages to remote systems

- calling web services to unpack there

So guess what: I think the perfect scripting language for this job is: PHP!

We built a small management system and some scripts in PHP and voilà: It works fine. Even more interesting: No special knowhow needed. Everyone can look in the code and understands how the build process works. And virtually no limits! We even fake a Browser and use the customer's web based upload service directly from our build system. And if we need to change the process: It's easy, all PHP.

I think we have a good solution now...

Auf Facebook teilen

« Tamagotchi vs. Social Networking - Javascript vs. PHP: RIA 1.0 and RIA 2.0? »