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


Работа с рабочими областями построений

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

Роли, выполняемые рабочей областью построения

До начала процесса построения

Шаг 1 Необходимо настроить рабочий каталог для каждого агента построения в системе построения. Дополнительные сведения см. в разделе Создание агентов построения и работа с ними.

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

Во время построения

Шаг 3 Процесс построения передает спецификации рабочей области действию Действие CreateWorkspace рабочего процесса для создания рабочей области в рабочем каталоге.

Шаг 4 Процесс построения использует действие Действие DownloadFiles для загрузки файлов в рабочую область. После завершения этого этапа агент построения может обрабатывать (например, компилировать) эти файлы.

Создание рабочей области для определения построения

При создании рабочей области для определения построения необходимо следовать некоторым рекомендациям.

Включите все необходимые папки.

Убедитесь, что включены все папки, содержащие файлы. необходимые процессу построения. Например, если добавить дополнительное решение в поле Элементы для построения на вкладке Процесс, может потребоваться добавить дополнительное сопоставление с рабочей областью.

Включайте только нужные папки.

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

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

Можно использовать токен $(SourceDir) для сопоставления серверной папки с локальной папкой в подкаталоге. \Sources.

В большинстве случаев наилучшее расположение исходных файлов на агенте построения — подкаталог ..\Sources рабочего каталога. Это расположение можно указать с помощью токена $(SourceDir) в поле "Папка агента построения".

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

Если в качестве триггера для определения построения задана Непрерывная интеграция, Последовательное построение или Условный возврат, сопоставленные папки на сервере привязываются к процессу построения. Например, если разработчик возвращает изменения в папку, сопоставленную в рабочей области определения построения с триггером Условный возврат, эти изменения будут заблокированы до окончания процесса построения.

Дополнительные сведения о триггерах см. в разделе Задание триггеров и причин выполнения построения.

Пример рабочей области определения построения

Roberto, инженер построения, создает определение построения Storefront Nightly.

Пример рабочей области определения построения

Шаг 1 Это определение построения выполняет построение двух решений: $/Core/Controllers/Controllers.sln и $/Core/Viewers/Viewers.sln. В результате ему требуется сопоставить две папки, содержащие эти решения, проекты, которые в них входят, и все остальные необходимые файлы.

Шаг 2 Для увеличения эффективности процесса построения, Roberto исключает папку с файлами документации, которая не является необходимой для процесса построения: $/Core/Viewers/Docs.

Шаг 3 Решение зависит от некоторых двоичных файлов из библиотеки компонентов, поставляемой другой компанией. Эти файлы защищены собственным механизмом, требующим, чтобы они размещались в заданном физическом каталоге: c:\adatum\widgets.

Копирование данных между рабочими областями

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

Копирование сопоставлений между рабочими областями

  1. Щелкните Копировать существующую рабочую область.

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

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

  1. Выполните одно из следующих действий.

    • Для копирования сопоставлений из рабочей области другого определения построения откройте определение построения и перейдите на вкладку Рабочая область.

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

  2. Щелкните правой кнопкой мыши строку в таблице Рабочие папки и выберите Выделить все.

  3. Щелкните правой кнопкой мыши строку в таблице Рабочие папки и выберите Копировать.

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

  5. Создайте новое или измените существующее определение построения, в которое требуется скопировать сопоставления.

    Дополнительные сведения см. в разделе Создание базового определения построения или Изменение определения построения.

  6. На вкладке Рабочая область щелкните правой кнопкой мыши строку таблицы Рабочие папки и выберите Вставить.

  7. При необходимости измените сопоставления для работы на вашем агенте построения. В частности, убедитесь, что значение в поле Папка агента построения верно и включает токен $(SourceDir).

Дополнительные сведения

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

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

Журнал изменений

Дата

Журнал

Причина

Май 2011

Добавлен раздел.

Улучшение информации.