Musisz dodać trochę do tego (i @GoodEnoughs):
ale to brzmi jak niewielka uciążliwość dla rozproszonej kontroli wersji.
Zdecydowanie nie - to, co robi kompilacja „serwerowa”, mówi ci, że twoja magistrala zbuduje się i przekaże swoje testy mniej więcej od czystego (im mniej jest konfiguracji, którą musisz wykonać w swoim środowisku).
Zastanawiam się nad przejściem na DVCS, ale nawet jeśli to zrobisz, wyciągniesz moją ciągłą integrację z moich zimnych, martwych rąk.
Na przykład: rozwijasz funkcję „a” rozwija funkcję „b” rozpowszechnianą, czy nie, w pewnym momencie musisz to wszystko połączyć - jeśli podczas zatwierdzania zapomnisz dodać plik, który aplikacja zbuduje na twoim komputerze, ale nigdzie indziej. Kiedy więc pchniesz kompilację do swojego „pnia”, uruchomi się ciągła integracja, a kompilacja zakończy się niepowodzeniem, a będziesz wiedział i miejmy nadzieję, że zanim ktoś wyciągnie twój nie tak kompletny kod, będziesz mógł podjąć kroki.
Jeśli pracujesz nad projektem z wieloma programistami, musisz być w stanie określić, skąd pochodzą wersje wydania - w efekcie tułowia - jest to prawdą niezależnie od tego, jak działa kontrola wersji.
Jeśli dodałeś funkcję - szczególnie tę, na której inni ludzie są zależni - być pewnym, że kiedy zostanie zmuszona do „życia”, buduje i przechodzi testy w innym miejscu niż środowisko programistyczne. Co więcej, wdrażam z kompilacji z mojego serwera kompilacji - w taki sposób określa się kompilację „ostateczną”. Ostatecznie zamierzam uruchomić kompilacje wdrażania uruchamiane przez użytkownika. Jego nie jest dobre powiedzenie, że można pracować wokół niego - nie można, jeśli jest to potrzebne (i nie kodowany okrągłe pola dev w biurze, aby znaleźć i popełnić brakujące pliki).
Czy to wszystko jest trochę mocne? Nie wiem - ale mój serwer kompilacji jest jedną z tych rzeczy, których nie mam, nie chcę oddawać.