Dazu müssen Sie ein bisschen hinzufügen (und @GoodEnoughs):
Dies klingt jedoch nur nach einem kleinen Ärgernis für die verteilte Versionskontrolle.
Nein, ein "Server" -Build sagt Ihnen, dass Ihr Trunk mehr oder weniger sauber aufgebaut wird und seine Tests bestehen wird (je weniger Konfigurationsaufwand Sie für Ihre Umgebung benötigen).
Ich denke über einen Wechsel zu DVCS nach, aber selbst wenn Sie das getan haben, werden Sie meine kontinuierliche Integration aus meinen kalten, toten Händen ziehen.
Um ein einfaches Beispiel zu nennen: Sie entwickeln Feature "a", er entwickelt Feature "b", verteilt oder nicht, irgendwann müssen Sie alles zusammenfügen - wenn Sie beim Festschreiben vergessen, eine Datei hinzuzufügen, die von der App erstellt wird auf Ihrem Computer, aber es wird nirgendwo anders. Wenn Sie also den Build in Ihren "Trunk" verschieben, wird die kontinuierliche Integration ausgelöst und der Build schlägt fehl, und Sie werden wissen, und bevor jemand Ihren nicht ganz so vollständigen Code abruft, können Sie hoffentlich Schritte unternehmen.
Wenn Sie an einem Projekt mit mehreren Entwicklern arbeiten, müssen Sie in der Lage sein, zu definieren, wo die Release-Versionen herkommen - der eigentliche Trunk -, unabhängig davon, wie Ihre Versionskontrolle funktioniert.
Wenn Sie eine Funktion hinzugefügt haben - insbesondere eine, von der andere abhängig sind -, können Sie sicher sein, dass die Erstellung und das Bestehen von Tests an einem anderen Ort als Ihrer Entwicklungsumgebung gewaltig ist, wenn sie zum "Leben" gedrängt werden. Darüber hinaus setze ich Builds von meinem Buildserver aus ein - so wie man den "endgültigen" Build angibt. Letztendlich werde ich benutzergesteuerte Bereitstellungs-Builds haben. Es ist nicht gut zu sagen, dass Sie es umgehen können - Sie können es nicht, wenn Sie es brauchen (und ich habe in einem Büro Entwicklerboxen durchsucht, um fehlende Dateien zu finden und zu übergeben).
Ist das alles ein bisschen stark? Weiß nicht - aber mein Build-Server ist eines der Dinge, die ich nicht zurückgeben möchte.