Volker Dusch's Blog: Setting up Hudson for PHP Projects in 15 minutes
While [running tests on commit] is great it can be pretty tedious to run the whole test suite every time before a commit but not doing it leads to a broken test suite that other people have to repair or go around asking who broke it.. make up your own story. This is where a continuous integration (ci) server jumps in ! Every time you commit, or push if you're using git, to a repository it detects the change, gets the new version of the source, runs all your tests (and more if you tell it to) and notifies you if there was a Problem.
He chose Hudson because of its simple setup, going from download to install and configured in around five minutes. It includes a plugin system with one of the "big ones" being the xUnit integration. Included in the post is every command you'll need to get it up and running on a linux (Ubintu) system including all plugins needed and the setup of a simple project's XML configuration file (with the code to run it on).