Cuando soy el único que se compromete, solo construyo y pruebo antes de comprometerme realmente. Usualmente uso un objetivo makefile como:
make sense
Eso configura, construye, ejecuta todas las pruebas (consciente de valgrind), ejecuta pelusas, etc. Como sé que seré el único que empuja, realmente no necesito el poder de algo como Hudson.
Además, en un entorno en el que hay varias ramas que alimentan un repositorio principal, si todos siguen el tirón siempre antes de comprometerse o presionar, el servidor de CI podría estar un poco exagerado. Una regla bien escrita de que el autor de lo que rompió la última compilación compra pizza el viernes generalmente mantiene las cosas funcionando sin problemas :)
Si llega a una situación en la que un proyecto está claramente dividido en subsistemas que tienen sus propios líderes, realmente debe contemplar el uso de algo como Hudson. Alguien puede realizar pruebas locales, perder una carrera con otro subsistema y terminar empujando algo tóxico.
Además, si está manteniendo una bifurcación de un proyecto de rápido movimiento (por ejemplo, su propio conjunto de parches para el kernel de Linux), debería considerar usar algo como Hudson, aunque esté 'solo' en ese proyecto. Esto es especialmente cierto si se bifurca / re-basa directamente desde la línea principal.