Мы думаем о том, чтобы объединить наши текущие командные проекты TFVC в один GIT-монорэпо.
Ни один из аргументов за или против monorepos не был очень убедительным. У нас сейчас проблемы со связыванием различных командных проектов в TFVC, поэтому мы считаем монорепо. Мы рассматриваем GIT, поскольку TFVC имеет серьезные проблемы с объединением и обнаружением перемещений файлов. Это, кажется, на 10-20 лет позади того, что должно быть возможно, даже когда я прямо говорю IDE Visual Studio, что это перемещение, а не удаление / добавление.
Мне интересно узнать о скорости сборки при использовании monorepo.
Является ли агент сборки достаточно умным, чтобы
- получать только то, что ему нужно (папки / файлы)
- не получать историю
тем самым ускоряя процесс?
Или, как правило, клонируется весь репозиторий, я должен был бы делать любые этапы сборки, такие как создание версий сборки после сборки, только обновлять новую сборку, а также для хорошей меры(всегда оставались поверх файлов для TFVC) удалять исходные файлы на агенте сборки один раз в неделю?
А по поводу нескольких определений сборки: должно ли каждое определение сборки иметь свой собственный клон репозитория? Всего будет около 5 сборок, совершенно разные решения, а также разные ветви основного решения.
Дополнительная информация: команда небольшая (мы не Google), весь размер репо составляет ~ 1-2 ГБ. Сейчас мы находимся на TFS 2017, и у нас нет планов по обновлению.