У нас возникают проблемы с производительностью при реализации Team Foundation Build Server, и у меня заканчиваются идеи о том, как ускорить процесс. Мы уже добавили несколько элементов PropertyGroup для повышения производительности на нескольких этапах (SkipClean, SkipLabel, SkipInitializeWorkspace), но я думаю, что нам нужно провести серьезную реструктуризацию, чтобы исправить ситуацию. Вот наша установка:
- У нас есть около 40 веб-приложений, каждое из которых очень отличается, но запускает кучу общих сборок.
- Каждое из этих веб-приложений имеет собственное решение;
- Каждое из этих веб-приложений ссылается на от 10 до 25 общих сборок;
- Существует определение сборки, содержащее все решения, которые запускаются при каждой регистрации в магистрали;
И вот основные проблемы, с которыми мы сталкиваемся
- Во время сборки он будет собирать каждую общую сборку столько раз, сколько на нее ссылаются, а не создавать один раз и использовать для каждого приложения.
- Время копирования файла очень медленное для каталога перетаскивания. Это должно быть через сетевой ресурс и не будет проходить по локальному пути.
- При каждом таком количестве сборок один или несколько выходных файлов «блокируются» и вызывают сбой сборки, даже если компиляция прошла нормально.
- И еще одно: я также пробовал отдельные определения сборки, но это также заставит получить другую рабочую область в Get Latest version. Я бы предпочел, чтобы сервер сборки содержал одну версию магистрали для сборки.
За последние несколько месяцев мы впали в апатию и игнорировали эту проблему, но сейчас время сборки составляет от часа до полутора.
Я играю с идеей обучения и переключения на круиз-контроль для большего контроля, который у меня был бы. Кто-нибудь с этим не согласен?
Любая помощь приветствуется. Спасибо!