Kiedy jestem jedynym, który się zobowiązuje, po prostu buduję i testuję, zanim faktycznie popełniam. Zwykle używam celu makefile, takiego jak:
make sense
To konfiguruje, buduje, uruchamia wszystkie testy (świadomy valgrind), uruchamia włókna itp. Ponieważ wiem, że będę jedynym, który pcha, tak naprawdę nie potrzebuję mocy czegoś takiego jak Hudson.
Dodatkowo, w środowisku, w którym kilka oddziałów zasila główne repozytorium, jeśli wszyscy wykonają polecenie pull zawsze przed zatwierdzeniem lub wypchnięciem, serwer CI może być trochę przesadzony. Dobrze napisana zasada, że autor cokolwiek zepsuł ostatnią kompilację, kupuje pizzę w piątek, zwykle zapewnia sprawne działanie :)
Jeśli dojdzie do sytuacji, w której projekt jest wyraźnie podzielony na podsystemy, które mają swoich liderów, naprawdę musisz rozważyć użycie czegoś takiego jak Hudson. Ktoś może przetestować lokalnie, przegrać wyścig z innym podsystemem i ostatecznie popchnąć coś toksycznego.
Ponadto, jeśli utrzymujesz widelec szybko zmieniającego się projektu (na przykład własny zestaw łatek do jądra Linuksa), powinieneś naprawdę rozważyć użycie czegoś takiego jak Hudson, nawet jeśli jesteś „solo” w tym projekcie. Jest to szczególnie prawdziwe, jeśli rozgałęziasz / przestawiasz bezpośrednio z głównej linii.