Существует множество различных способов хранения репозиториев, выполнения сборок и развертывания экземпляров.И многие из них правы.Из моей практики не важно, какую технику вы используете и какой инструмент для сборки и развертывания.Поэтому важно задавать вопросы, которые влияют на эти процессы:
- , чтобы предотвратить путаницу решений / проектов, которые могут быть разделены (как отдельные). Если проект совместно используется несколькими решениями, лучше создать для него отдельный репозиторий.И просто добавьте к этому отношения из зависимых решений / проектов:
- , чтобы предотвратить проблемы при создании различных сборок для разных целей (другими словами, Управление конфигурацией). Вы можете настроить TeamCity для этого (в основном для автоматизации сборки и развертывания после каждого 'коммита' или графика на основе времени) или использовать простую, но мощную утилиту, например, NAnt с предопределенными конфигурациями.
Так что я не вижу причин делать одну большую сборку (может быть только в выпуске), но отдельные сборки было бы проще использовать (для QA и разработчиков, которые работают только над какой-то частью).Второй вопрос - это время.Например, чтобы сделать полную сборку со всеми проектами в одном решении, требуется около 10 минут на процессоре Quad CPU 8 ГБ, но для сборки со счетной частью или частью регистрации всего 1 минута - это важно для меня.Просто попытайтесь представить себе этот процесс, нарисуйте лист бумаги, и станет понятно - что делать и зачем.
Все мнения основаны только на моей практике, в успешных проектах, в которых каждый раз происходят изменения.день / ночь и имеет десятки конфигураций (ваших сборок).