Search This Blog

Wednesday, February 23, 2011

Rephlux - A Continuous Integration Tool for PHP

What Is Rephlux?

Rephlux is a PHP based tool for running a continuous testing/build process on your project and taking action based on the outcome of your tests. It is inspired by the Java based CruiseControl[1]. It is free software, licensed under the GNU GPL (see the file COPYING for details).
Rephlux is aimed at distributed developments and developments within larger teams. It was built for use on the development of the Web Application Component Toolkit[2], a PHP project on SourceForge, with the aim of providing something more useful than the SourceForge nightly builds.

What Will It Do For Me?

Cut out some headaches and automate some repetitive jobs.
Rephlux should be run as a scheduled job during application development. On each run:
  • It checks your source code repository for changes since the last successful run - reporting on any revisions
  • If changes are detected it checks out a working copy of your source code and runs arbitrary scripts that you define, followed by your test script
  • It generates failure reports if your test script fails
  • If the tests pass it will run user-defined scripts for eg. document generation, creating a tarball distribution, deploying the app to your server, etc.
The major aim of the program is to regularly do something if all of your tests are passing.


  • Linux only
  • Only knows about Simpletest[3], and requires a custom reporter to be used in place of the Simpletest default CLI reporter (some very untested support for the Simpletest reporter is now available)
  • Only knows about CVS[4]
  • Only runs/parses a single test script
  • RSS reports only
  • Limited debugging output
  • Very ragged round the edges
  • Probably has some horrendous flaw that I haven't quite noticed yet
It still needs a lot of work (see the TODO) - so please contact me if you can help out.
If any of the above are a problem for you stop reading now and check back in six months ;)

Read Full Details @

No comments:

Post a Comment