Wenn ich der einzige bin, der sich verpflichtet, baue und teste ich nur, bevor ich mich tatsächlich verpflichtet habe. Normalerweise benutze ich ein Makefile-Target wie:
make sense
Das konfiguriert, erstellt, führt alle Tests aus (Valgrind-fähig), führt Lints aus usw. Da ich weiß, dass ich der einzige bin, der pusht, brauche ich nicht wirklich die Kraft von etwas wie Hudson.
Wenn in einer Umgebung, in der mehrere Zweige ein Hauptrepository versorgen, jeder dem Pull folgt, bevor Sie einen Commit oder Push ausführen, ist der CI-Server möglicherweise etwas überlastet. Eine gut geschriebene Regel, die besagt, dass der Autor, der den letzten Build gebrochen hat, am Freitag Pizza kauft, sorgt normalerweise für einen reibungslosen Ablauf :)
Wenn ein Projekt klar in Teilsysteme mit eigenen Leitern unterteilt ist, müssen Sie sich wirklich überlegen, etwas wie Hudson zu verwenden. Jemand könnte vor Ort testen, ein Rennen mit einem anderen Subsystem verlieren und am Ende etwas Giftiges herausfordern.
Wenn Sie ein sich schnell bewegendes Projekt verwalten (z. B. Ihre eigenen Patches für den Linux-Kernel), sollten Sie in Betracht ziehen, so etwas wie Hudson zu verwenden, auch wenn Sie in diesem Projekt "solo" sind. Dies gilt insbesondere dann, wenn Sie direkt von der Hauptleitung aus verzweigen / neu starten.