Поделиться через


Расширение системы сборки

Чтобы использовать Team Foundation Build для автоматической сборки и тестирования приложения, следует настроить сервер сборки, добавить контроллер сборок и несколько агентов сборки, а также назначить папку сброса. Если над проектом работает небольшая первоначальная команда, все эти компоненты системы сборки можно развернуть на одном компьютере за несколько минут. По мере увеличения численности рабочей группы и базы кода можно относительно легко наращивать систему сборки.

Совет

Если коллекция командных проектов размещена в Visual Studio Online, можно пропустить все эти действия и использовать вместо них размещенный контроллер сборок согласно приведенному ниже описанию.

Ниже приведено несколько примеров, демонстрирующих запуск простого, небольшого решения с последующим масштабированием системы сборки при возрастании требований.

  • Visual Studio Online с размещенным контроллером сборок

  • Visual Studio Online с локальными серверами сборки

  • Система сборки для пробного использования или очень маленькой команды

  • Система сборки для небольшой команды

  • Системы с несколькими серверами сборки

  • Система сборки для поддержки нескольких коллекций командных проектов

  • Следующие шаги

Visual Studio Online с размещенным контроллером сборок

Если коллекция командных проектов размещена в Visual Studio Online, вместо развертывания собственных серверов сборки можно использовать размещенный контроллер сборок.

Team Foundation Service, размещенный контроллер сборок

См. раздел Использование размещенного контроллера сборок с коллекцией командных проектов, размещенной в Visual Studio Online.

Visual Studio Online с локальными серверами сборки

Если коллекция командных проектов размещена в Visual Studio Online и команде требуются более масштабные или настраиваемые агенты сборки, к Visual Studio Online можно подключить локальные серверы сборки.

Team Foundation Service, локальный сервер сборки

Система сборки для пробного использования или очень маленькой команды

При использовании Team Foundation Server в качестве пробной версии или работе с очень маленькой командой может подойти следующая топология.

Система с одним компьютером на уровне приложений

Эта топология может подойти для команды, выполняющей сборки нечасто и только в нерабочее время, например для команды, выполняющей только одну сборку ночью. Однако для многих команд она недостаточна по следующим причинам.

  • Для агента сборки требуются значительные ресурсы процессора, что может существенно снизить производительность уровня приложений.

  • Контроллер построений может увеличить нагрузку на системную память, особенно если он управляет множеством активных агентов построения одновременно.

  • Установка Служба построения Team Foundation повышает уязвимость компьютера. См. раздел Сервер сборки: риски безопасности.

Система сборки для небольшой команды

При работе в небольшой команде с применением локального сервера Team Foundation Server можно использовать следующую топологию:

Система с одним компьютером (автономная)

Так как работа с высокой нагрузкой на процессор выполняется агентами построения на отдельном компьютере, производительность уровня приложений не снижается при запуске построений.

Можно также запустить контроллер сборок на выделенном сервере сборки. Однако преимущество показанной на рисунке топологии в том, что при ее использовании внесение изменений в систему сборки вызывает меньше нарушений в работе, например при необходимости ремонта или замены сервера сборки.

Системы с несколькими серверами сборки

По мере увеличения размера команды и базы кода можно постепенно добавлять ресурсы в соответствии с потребностями. Например, можно добавить дополнительный контроллер и агенты сборки.

Контроллер на уровне приложений с несколькими серверами построения

Наличие контроллера сборки A на том же компьютере, где расположен уровень приложений, обычно не создает проблемы, связанные с процессором. Однако контроллер сборок можно переместить на другой сервер из-за упомянутых ранее проблем с нехваткой памяти и уязвимостью.

Используя несколько серверов сборки, можно выделить для разных целей отдельные серверы, как указано ниже.

  • Сервер сборки на высокопроизводительном компьютере, выделенный для агентов сборки, обрабатывающих сборки с непрерывной интеграцией или условным возвратом. Команде требуется быстрое выполнение таких сборок (особенно сборок с условным возвратом), чтобы работа не задерживалась в ожидании сборки.

  • Сервер сборки, выделенный для запланированных на ночь сборок с тестами приемки, требующих много времени на выполнение различных процессов, таких как крупные тестовые запуски и анализ кода.

  • Сервер сборки, подготовленный и выделенный для выполнения специальных задач, например сборки и тестирования приложения Магазина Windows.

Совет

В таких сценариях можно применять теги к специальным агентам сборки, а затем ограничивать определения сборок для использования только агентов сборки с правильным набором тегов.Сведения о простом процессе сборки по умолчанию см. в разделах Назначение тегов для представления возможностей и целей агентов сборки и Задание агентов сборки для обработки сборки, а сведения о расширенном пользовательском процессе сборки — в разделе Запуск действий в агенте сборки.

Система сборки для поддержки нескольких коллекций командных проектов

В следующем примере топологии системы сборки возможна поддержка проектов по разработке программного обеспечения уровня предприятия.

Система из нескольких компьютеров с несколькими контроллерами

В каждой коллекции командных проектов должен иметься собственный контроллер сборок, как показано выше. Обратите внимание, как эта топология обеспечивает изоляцию серверов сборки. Члены команды, которые работают над коллекцией командных проектов A, могут использовать только агенты построения по управлением контроллера построений A. Это ограничение может быть полезно в случаях, когда требуется жестко контролировать доступ к конфиденциальной интеллектуальной собственности.

Следующие шаги

  • Развертывание и работа с сервером сборки
    Для использования Team Foundation Build с локальной системой Team Foundation Server необходимо развернуть хотя бы один сервер сборки. Можно также подключить к Visual Studio Online один или несколько локальных серверов сборки.

    Совет

    По мере масштабирования системы можно заменить существующий сервер сборки при развертывании нового сервера сборки.Например, может потребоваться разместить ту же конфигурацию и тот же набор контроллеров и агентов сборки на новом, более мощном компьютере.См. раздел Настройка службы построения Team Foundation.

  • Развертывание и настройка контроллера сборки
    Используйте контроллер сборки для объединения в пул одного или нескольких агентов сборки. На сервере сборки можно разместить только один контроллер сборки.

  • Развертывание и настройка агентов сборки
    Используйте агент сборки для выполнения операций сборки, требующих значительных ресурсов процессора. К таким операциям относится получение файлов из системы управления версиями, подготовка рабочей области, компиляция кода и выполнение тестов.

  • Настройка папок сброса
    Можно подготовить и назначить одну или несколько папок сброса, чтобы система сборки могла отправлять двоичные файлы, результаты тестов и файлы журнала членам рабочей группы.

  • Управление системой сборки.
    После развертывания сервера сборки можно управлять им с помощью консоли администрирования Team Foundation. Вы можете управлять контроллером сборки и агентами сборки из консоли администрирования Team Foundation или из Visual Studio.

  • Использование Team Foundation Build
    При наличии системы сборки команда готова к созданию простого процесса сборки (например, сборки с непрерывной интеграцией) и использованию возможностей автоматизированной сборки и тестирования приложения.