Mercurial (distributed revision control system) --
$ hg pull ; hg update $ hg pull ; hg updateThhe builds themselves go into a package repository and on a machine we just run hg pull packages/<tool>; hg merx <machine name>; hg update;
(hg merx pulls customised machine configuration files from the repository or defaults if non-existant).
It takes a bit of initial setup but then works well for ongoing deployment (we add 10-15 commodity servers to our pool each week = easy to do now - dd the debian image and run those three commands. sorted).