Andrew:
Во-первых, мы нарушаем пару «наилучшей практики» для достижения этой цели, но прагматизм, где лучше практика встречается в реальном мире.
Что мы делаем это:
- Все исполняемые файлы проверяются на TFS в папке LocalBin, которая объединяет все наши двоичные файлы.
- Все общедоступные сборки находятся в папке LocalBin/SharedBin
- Папка SharedBin разветвлена в папку SharedBin верхнего уровня в рамках проекта (ов) команды потребления.
- В успешной основной сборке LocalBin/Sharedbin объединяется с папками SharedBin проектов.
Это ветры нечто вроде этого:
$/ProjectA/Main/Localbin/SharedBin
ответвляется к $/ProjectB/Main/SharedBin
и $/ProjectB/Dev/Sharedbin
(а также эквивалентные папки в $/ProjectC
, $/ProjectD
и так далее).
Мы используем этот обмен только в том случае, если у нас есть успешная MAIN build, и сборка отвечает за объединение не только с другими проектами филиалов MAIN, но и с проектами филиалов DEV, поэтому они актуальны.
Мы пообщались с идеей преодоления двоичных файлов в общем сетевом местоположении после успешной сборки и имея соглашение о ссылках на эти двоичные файлы в этом сетевом ресурсе, но этот процесс хорошо работает для нас сегодня, и мы «Мне не нужно вносить изменения в этот момент (более важные вещи сейчас происходят).
Это одна из тех вещей, которые трудно полностью описать при публикации, поэтому, если у вас появятся дополнительные вопросы, я был бы счастлив попытаться ответить на них.
BTW, наше решение было создано и работает под TFS2008 с тысячами файлов проекта и, вероятно, миллионами строк кода. Это увеличивает время сборки из-за слияния и увеличивает объем пространства, используемого в вашем репозитории, но оба они были доступны до сих пор.
Благодарим за решение. Мне понадобится время для расследования! –