Яке їх призначення?
Візьміть на себе завантаження машин розробників, забезпечте стабільне відтворювальне середовище для будівель.
Чому розробники не будують проект на своїх локальних машинах чи вони?
Тому що зі складним програмним забезпеченням, дивовижно багато речей може піти не так, коли просто "складати". проблеми, з якими я справді стикався:
- неповні перевірки залежності різних типів, внаслідок чого файли бінарних файлів не оновлюються.
- Публікуйте команди, які відмовляються безшумно, повідомлення про помилку в журналі проігнорується.
- Побудувати, включаючи локальні джерела, які ще не взяли на себе контроль над джерелами (на щастя, ще немає ящиків повідомлень проклятих клієнтів ..).
- Намагаючись уникнути вищезгаданої проблеми, створивши з іншої папки, деякі файли вибрані з неправильної папки.
- Цільова папка, в якій об’єднані двійкові файли, містить додаткові застарілі файли розробника, які не повинні бути включені до випуску
У нас спостерігається дивовижне підвищення стабільності, оскільки всі публічні випуски починаються з управління з джерела на порожню папку. Раніше було багато "кумедних проблем", які "пішли, коли Джо дав мені нову DLL".
Чи є такі проекти настільки великими, що потрібні більш потужні машини для їх побудови за розумну кількість часу?
Що "розумно"? Якщо я запускаю пакетну збірку на своїй локальній машині, я багато чого не можу зробити. Замість того, щоб платити розробникам за завершення збірок, платіть ІТ, щоб вже придбати справжню машину збірки.
Це я просто не працював над досить великими проектами?
Розмір, безумовно, є одним із факторів, але не єдиним.