Thanks to Jon Ramsey, PHP now has a tool for Continuous Integration.

The term “Continuous Integration” may or may not have blipped on your buzz radar yet. Much like Unit Testing, the moment someone sticks a label on what is a good development practice, people start raving (or ranting) about it and the rest of us, with our feet planted somewhere in the real world, look on skeptically.

Suspending skepticism for a moment, the notion of Continuous Integration (much like Unit Testing) is grounded very much in practical reality. Continuous Integration is about automating your build process (preparing a software project for end users), cutting out wasted man hours spent on mundane tasks and unnecessary bug hunts.

Thanks to Jon, PHP now has a Continuous Integration tool called Rephlux. Jons put up short page explaining what it’s about, with links to similar projects and relevant docs. One particularly nice aspect of Jon’s implementation is the use of RSS to log Rephlux runs, combined with a touch of XSLT to may them easy for humans to read. A minor but clear benefit of Rephlux can already be seen by look at it’s own revision logs - effectively a change log incremented by date which can be tied in nicely with the fails log (if there were any) for tracking down the point a problem occurred. By keeping the logs simple like this, it’s going to be fairly easy to build reporting and analysis tools later.

Although I haven’t directly collaborated with Jon on Rephlux’s development, the motivation for it’s development was WACT (Jon’s one of the developers).

If you’ve been following WACT, you’ll know we’re less than good at delivering releases on time. The usual problems that go with preparing software for delivery are further compounded by the fact that most of WACT’s development team have never met and are collaborating over the net, via Sourceforge, from locations in the US and Europe. Jon’s now running Rephlux on his own box, for WACT, and reporting useful results. Once we’ve sorted out issues in getting it running on WACTs Sourceforge space, should mean the WACT “snapshots” come with the latest documentation as well as some idea of how stable they are (via the Unit Tests). Should also mean that when it comes to preparing a full release of WACT, the effort required is minimal.

Find out more at http://rephlux.sourceforge.net/.


develop/rephlux_continuous_integration_tool_for_php.txt · Last modified: 2005/10/15 21:47