Нужно добавить немного к этому (и @GoodEnoughs):
но это звучит как небольшая неприятность для распределенного контроля версий.
Абсолютно нет - то, что делает «серверная» сборка, это говорит вам, что ваш ствол будет собираться и более или менее проходить тесты более чистым (тем меньше конфигурация вашей среды).
Я обдумываю переход на DVCS, но даже сделав это, вы вытянете мою непрерывную интеграцию из моих холодных мертвых рук.
В качестве простого примера - вы разрабатываете функцию «a», он разрабатывает функцию «b», или нет, в какой-то момент вам нужно сшить все это вместе - если при фиксации вы забудете добавить файл, который будет создавать приложение на вашей машине, но больше нигде. Поэтому, когда вы помещаете сборку в свой «ствол», запускается непрерывная интеграция, и сборка завершается неудачно, и вы будете знать и, надеюсь, прежде чем кто-нибудь получит ваш не совсем законченный код, вы сможете предпринять шаги.
Если вы работаете над проектом с несколькими разработчиками, вы должны быть в состоянии определить, откуда берутся версии выпуска - действительный ствол - это верно независимо от того, как работает ваш контроль версий.
Если вы добавили функцию - особенно ту, от которой зависят другие люди, - чтобы быть уверенными, что когда ее заставляют «жить», она создает и проходит тесты где-то, кроме вашей среды разработки, огромна. Более того, я выполняю развертывание из сборок с моего сервера сборки - это своего рода способ определения «окончательной» сборки. В конечном счете, я собираюсь запускать сборки, запускаемые пользователем. Его не хорошо говорить , что вы можете работать вокруг него - вы не можете , если вам это нужно (и я уже вскарабкался круглые коробки Дев в офисе , чтобы найти и взять недостающие файлы),
Это все немного сильно? Не знаю, но мой сервер сборки - одна из тех вещей, которые я не хочу возвращать.