Потрібно додати трохи до цього (і @GoodEnoughs):
але це звучить лише як незначна неприємність для розподіленого контролю версій.
Підкреслимо, що ні - те, що робить "сервер", - це сказати вам, що ваш магістраль буде будувати і проходити свої тести більш чи менш з чистого (тим менше обсяг конфігурації, який потрібно зробити для вашого оточення).
Я замислююся про перехід на DVCS, але навіть зробивши це, ви перетянете мою безперервну інтеграцію з моїх холодних мертвих рук.
Візьмемо простий приклад - ви розробляєте функцію "a" він розробляє функцію "b", яка поширюється, або в якийсь момент вам потрібно зшити все це разом, - якщо, коли ви виконуватимете зобов'язання, ви забудете додати файл, який додаток створить на вашій машині, але більше ніде. Таким чином, коли ви натиснете збірку до свого «магістралі», то безперервна інтеграція запуститься, і збірка буде вийти з ладу, і ви дізнаєтесь і, сподіваємось, перед тим, як хто-небудь витягне ваш не зовсім повний код, ви зможете зробити кроки.
Якщо ви працюєте над проектом з декількома розробниками, ви маєте змогу визначити, звідки беруться версії релізів - фактична магістраль, - це справедливо незалежно від того, як працює ваш контроль версій.
Якщо ви додали функцію, особливо ту, від якої залежать інші люди, - мати можливість бути впевненим, що коли її натискають на «живе», то вона будує та здає тести десь, крім вашого середовища розробників, величезна. Більше того, я розгортаюсь із збірок з мого сервера збірки - його тип того, як можна вказати "остаточну" збірку. Зрештою, у мене виникне збірка розгортання, яку спрацьовує користувач. Його не було добре говорити , що ви можете працювати навколо нього - ви не можете , якщо вам це потрібно (і я вже видерся круглі коробки Дев в офісі , щоб знайти і взяти бракуючі файли).
Це все трохи сильно? Не знаю - але мій сервер побудови - одна з тих речей, які я не маю бажання повертати.