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


Развертывание и настройка агентов сборки

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

Два сервера построения

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

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

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

Совет

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

Необходимые разрешения

Вы должны быть членом группы "Администраторы Windows" на сервере сборки и членом группы "Администраторы сборок коллекции проектов" в коллекции командных проектов. См. раздел Справочник по разрешениям Team Foundation Server.

Выберите действие.

Создание или изменение агента сборки

Создание или изменение агента сборки с сервера сборки

  1. Войдите в систему сервера сборки, который требуется настроить.

  2. Из меню "Пуск" Windows запустите Консоль администрирования Team Foundation.

    Отобразится окно Консоль администрирования Team Foundation.

  3. В области дерева консоли администрирования Team Foundation разверните имя сервера и выберите узел Конфигурация сборки.

    В области содержимого появятся сведения о сервере сборки.

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

  4. На странице "Конфигурация сборки":

    • Чтобы создать новый агент сборки, выберите команду Создать агент.

    • Чтобы изменить существующий агент сборки,

      Агент построения

      выберите Свойства.

    Появится диалоговое окно Свойства агента построения.

Изменение агента сборки из Visual Studio

  1. В Visual Studio в Team Explorer:

    1. Если вы еще не подключены к командному проекту из коллекции командных проектов, подключитесь к командному проекту.

    2. Выберите Значок "Начало" Главная, а затем выберите Значок построений Сборки.

  2. На странице "Сборки" выберите Действия, а затем — Управление контроллерами сборки.

    На экране появится диалоговое окно Управление контроллерами построений.

    Диалоговое окно "Управление контроллерами построений"

  3. Выберите агент сборки, который требуется изменить, и щелкните Свойства.

    Появится диалоговое окно Свойства агента сборки.

Диалоговое окно "Свойства агента построения"

Отображаемое имя, Описание. Введите имя и описание, чтобы члены команды могли легко определить агент сборки.

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

В разделах ниже содержатся дополнительные сведения о настройке агента сборки.

Установка Visual Studio и другого программного обеспечения для включения компиляции и других возможностей

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

Задание рабочего каталога

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

Совет

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

Использование токенов рабочего каталога

Хотя для свойства Рабочий каталог путь можно задать в буквенном представлении (например, c:\temp\build\), более простой и надежный подход — задание пути с помощью токенов. Можно использовать два вида токенов:

  • Переменные среды
    Переменные среды содержат сведения о среде для системы и пользователя, вошедшего в систему. Самая обычная переменная — SYSTEMDRIVE, однако в некоторых случаях могут также использоваться такие переменные, как USERNAME или HOMEPATH.

    Совет

    Чтобы вывести список переменных среды на сервере сборки, откройте командную строку и введите set.

  • Переменные Team Foundation Build
    В рабочем каталоге агента сборки можно использовать следующие переменные:

    • $(BuildAgentId) — автоматически генерируемое целое число, являющееся уникальным идентификатором агента построения в коллекции командного проекта.

    • $(BuildAgentName)Отображаемое имя агента построения.

    • $(BuildDefinitionId) — автоматически генерируемое целое число, являющееся уникальным идентификатором определения построения в коллекции командного проекта.

    • $(BuildDefinitionPath) — имя командного проекта и имя определения построения, разделенные обратной косой чертой.

Пример рабочего каталога

Например, имеем агента построения с именем BuildBot3. В командном проекте CoolApp определены два построения с именами NightlyBuild и WeeklyBuild. В поле Рабочая папка укажите значение $(SystemDrive)\TeamBuilds\$(BuildAgentName)\$(BuildDefinitionPath). В результате, агент построения BuildBot3 создает и использует две рабочих папки, а именно:

C:\TeamBuilds\BuildBot3\CoolApp\NightlyBuild

C:\ TeamBuilds\BuildBot3\CoolApp\WeeklyBuild

Длина пути к рабочему каталогу

При выборе рабочей папки необходимо учитывать, что пути к этой папке, формируемые агентом построения, не должны превышать 259 символов. В противном случае возможен сбой сборок с вводом в журнал следующей ошибки: TF10128: The path PhysicalPath contains more than the allowed 259 characters. Type or select a shorter path.

Чтобы решить эту проблему, можно указать рабочий каталог, физический путь к которому короче. Например, можно указать $(HOMEDRIVE)\bld\$(BuildAgentID)\$(BuildDefinitionID), в результате чего рабочий каталог будет следующим: c:\bld\3\2\.

Подкаталоги, создаваемые в рабочем каталоге

Агент построения создает следующие подкаталоги по такому пути и работает в них.

Подкаталог

Используется для хранения файлов...

Sources

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

Binaries

Скомпилированный агентом построения, например, скомпилированные файлы приложения.

TestResults

Созданный любыми тестами, выполненными агентом построения.

Включение агента сборки для выполнения тестов

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

Важно!

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

Агент сборки может выполнять:

Назначение тегов для представления возможностей агента сборки или целей

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

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

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

Можно применить следующий тег...

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

x86

Компиляция 32-разрядных приложений

x64

Компиляция 64-разрядных приложений

bvt

Запуск тестов проверки сборки, выполняемых ночной сборкой тестов проверки сборки.

WindowsStore

Компиляция и тестирование приложения для Магазина Windows.

IIS

Компиляция веб-приложения ASP.NET с последующим размещением на компьютере, на котором работает агент сборки.

interactive

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

К агенту построения можно применить более одного тега. Например, можно создать агента построения с тегами x86 и выпуск, чтобы указать агента, установленного для компиляции конфигурации выпуска 32-разрядного приложения.

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

Удаление агента сборки

  1. В Visual Studio откройте диалоговое окно Управление контроллерами сборки, как описано выше в разделе Создание или изменение агента сборки.

  2. Выберите агент сборки, который требуется удалить, и нажмите кнопку Удалить.

Совет

Для удаления агента сборки после входа на сервер сборки можно также использовать консоль администрирования Team Foundation.

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