Работа с рабочими областями сборок
Точно так же как для разработки приложения требуется рабочая область на компьютере разработки, необходимо задать рабочую область, которую агент сборки использует для сборки и тестирования приложения.
Выберите действие.
Указание рабочей области для определения построения
См. пример определения рабочей области сборки
Копирование данных между рабочими областями
Принцип работы рабочей области построения
Указание рабочей области для определения построения
При определении процесса сборки необходимо следовать некоторым рекомендациям во время определения рабочего пространства.
Включите все необходимые папки.
Убедитесь, что включены все папки, содержащие файлы. необходимые процессу построения. Например, если в поле Проекты на вкладке Процесс добавляется дополнительное решение, может потребоваться добавить другое сопоставление в рабочую область.
Включайте только нужные папки.
Сопоставляйте со значением Активный параметра Состояние только папки, необходимые процессу сборки. Если вложенная папка сопоставляемой папки содержит файлы, которые не требуются процессу сборки, сопоставьте их со значением Замаскировано параметра Состояние. Во многих случаях при создании определения построения корневая папка командного проекта сопоставлена с рабочей областью. При такой конфигурации агент построения загружает все файлы в каталог системы управления версиями командного проекта. Если в этой папке находится много данных, сборка может расходовать ресурсы системы сборки из-за загрузки большого количества ненужных данных, что замедлит процесс сборки.
Удаляя элементы из поля Проекты на вкладке Процесс, обратите внимание на лишние сопоставления, которые можно удалить из рабочей области.
Совет
Дополнительные сведения об оптимизации рабочей области см. в разделе Оптимизация рабочей области.
Используйте токен $(SourceDir) для сопоставления серверной папки с локальной папкой в подкаталоге .. \Sources.
В большинстве случаев наилучшее расположение исходных файлов на агенте сборки — подкаталог ..\Sources рабочего каталога. Это расположение можно указать с помощью токена $(SourceDir) в поле "Папка агента построения".
Необходимо учитывать влияние рабочей области на определение построения, инициируемое возвратом.
Если в качестве триггера определения сборки задано значение Непрерывная интеграция, Прокрутка сборок или Условный возврат, сопоставляемые папки на сервере привязываются к процессу сборки. Ниже приведен пример. Разработчик возвращает изменения в папку. Папка сопоставлена в рабочей области определения сборки, и у этого определения сборки есть триггер Условный возврат. Изменения будут заблокированы, пока процесс сборки не завершится.
Пример рабочей области определения построения
Roberto, инженер построения, создает определение построения Storefront Nightly.
Это определение построения выполняет построение двух решений: $/Core/Controllers/Controllers.sln и $/Core/Viewers/Viewers.sln. В результате ему требуется сопоставить две папки, содержащие эти решения, проекты, которые в них входят, и все остальные необходимые файлы.
Для увеличения эффективности процесса построения, Roberto исключает папку с файлами документации, которая не является необходимой для процесса построения: $/Core/Viewers/Docs.
Решение зависит от некоторых двоичных файлов из библиотеки компонентов, поставляемой другой компанией. Эти файлы защищены собственным механизмом, требующим, чтобы они размещались в заданном физическом каталоге: c:\adatum\widgets.
Копирование данных между рабочими областями
Можно сэкономить время, скопировав сопоставления из одной рабочей области в другую.
Копирование сопоставлений между рабочими областями
Выберите Копировать существующую рабочую область.
В диалоговом окне Выбор рабочей области для копирования скопируйте сопоставления из рабочей области.
Копирование сопоставлений из рабочей области другого определения построения или из рабочей области другого члена команды
Выполните одно из следующих действий.
Для копирования сопоставлений из рабочей области другого определения сборки откройте определение сборки и перейдите на вкладку Параметры исходного кода.
Чтобы скопировать сопоставления из рабочей области другого участника команды, попросите участника команды выбрать в строке меню Файл, Система управления версиями, Дополнительно, Рабочие области. Выберите рабочую область и нажмите Изменить.
Откройте контекстное меню для строки в таблице Рабочие папки, а затем выберите Выделить все.
Откройте контекстное меню для строки в таблице Рабочие папки, а затем выберите Копировать.
Создайте текстовый файл, вставьте в него содержимое буфера обмена и сохраните его.
Создайте новое или измените существующее определение построения, в которое требуется скопировать сопоставления.
Для получения дополнительной информации см. Создание или изменение определения сборки.
На вкладке Параметры исходного кода откройте контекстное меню для строки в таблице Рабочие папки, а затем выберите Вставить.
При необходимости измените сопоставления для работы на вашем агенте построения. В частности, убедитесь, что значение в поле Папка агента построения верно и включает токен $(SourceDir).
Принцип работы рабочей области построения
В ходе процесса построения агент построения компилирует исходные файлы и выполняет над ними другие операции. Прежде чем начать работу, агент загружает файлы из папок в системе управления версиями в локальный рабочий каталог. Для упрощения загрузки этих файлов агент построения создает рабочую область системы управления версиями, которая сопоставляет папки на сервере с локальными папками в рабочем каталоге на агенте построения.
До начала процесса построения
Необходимо настроить рабочий каталог для каждого агента построения в системе построения. Для получения дополнительной информации см. Развертывание и настройка агентов сборки.
При создании определения построения на вкладке Рабочая область указываются папки, содержащие файлы, которые требуется загрузить, и информация о сопоставлении этих папок с локальными папками на агенте построения.
Во время построения
Процесс сборки передает спецификации рабочей области действию CreateWorkspace рабочего процесса для создания рабочей области в рабочем каталоге.
Процесс сборки использует действие DownloadFiles для загрузки файлов в рабочую область. После завершения этого этапа агент построения может обрабатывать (например, компилировать) эти файлы.