Короткая версия
Нужно раздавать ночные сборки 70+ людям каждое утро, они хотели бы использовать git , чтобы сбалансировать нагрузку при передаче, и хотели бы знать, есть ли подсказки, подводные камни или недостатки с этой идеей, прежде чем Я начинаю проектировать систему.
Длинная версия
Каждое утро нам нужно раздавать наши ночные сборки студии более 70 человек (художники, тестировщики, программисты, продюсеры и т. Д.). До сих пор мы копировали сборку на сервер и написали программу sync , которая ее извлекает (используя Robocopy внизу); даже при настройке зеркал скорость передачи неприемлемо мала, поскольку для синхронизации в пиковое время (непиковое время составляет примерно 15 минут) требуется до часа или дольше, что указывает на узкое место аппаратного ввода / вывода.
Блестящая (хотя определенно не оригинальная) идея, которая у меня была, заключалась в том, чтобы распределить нагрузку по всей студии. После исследования написания клиента с использованием печально известного протокола бит-торрента мне пришла в голову мысль, что я могу просто использовать git , так как по своей конструкции это даст нам возможность распределять управление сборкой и ревизиями с дополнительным преимуществом сервера Меньше.
Вопросы
Как начать пользоваться git? У меня есть опыт работы с центрально расположенными системами управления источниками, такими как Perforce и SVN . Читая документацию, кажется, что все, что вам нужно сделать, это запустить git init path\\to\folder
, а затем на другом компьютере запустить git clone url
?
Где взять url
для вышеуказанной команды git clone
? Я могу определить? Мне кажется странным иметь URL-адрес, поскольку у git нет центрального сервера - или нет? например похож на бит-торрент трекер?
Что было бы лучшим вариантом для идентификации сборок, использования номеров или меток списка изменений?
Можно ли ограничить количество сохраненных ревизий? Это было бы полезно, так как в дополнение к ночным сборкам у нас также есть несколько сборок CI в течение дня, которые мы хотим распространять, однако не имеет смысла оставлять бесконечные ревизии числа. В Perforce вы можете ограничить изменения, установив свойство.