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


Переменные среды Team Foundation Build

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

  • Переменные среды TF_BUILD

  • Использование переменных среды в MSBuild

  • Использование переменных среды в программах или скриптах

  • Использование переменных среды в пользовательском процессе сборки

Переменные среды TF_BUILD

  • TF_BUILD Устанавливается TFBuild равным значению True, чтобы можно было сделать части скрипта условными в зависимости от того, запускается ли ваш скрипт TFBuild или нет.

  • TF_BUILD_BINARIESDIRECTORY Каталог, из которого процесс сборки копирует выходные файлы в расположение промежуточного хранения. Этот каталог является подкаталогом рабочего каталога агента сборки. Например, C:\Build\BuildBot3\CoolApp\CIBuild\bin.

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

    Примечание

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

  • TF_BUILD_BUILDDEFINITIONNAME имя определения сборки.

  • TF_BUILD_BUILDDIRECTORY Рабочий каталог агента сборки. Например, C:\Build\BuildBot3\CoolApp\CIBuild.

  • TF_BUILD_BUILDNUMBER Номер сборки этой сборки. Например, CIBuild_20130613.6.

  • TF_BUILD_BUILDREASON Причина сборки для этой сборки. Например, IndividualCI.

  • TF_BUILD_BUILDURI URI для сборки. Например, vstfs:///Build/Build/35.

  • TF_BUILD_COLLECTIONURI Универсальный код ресурса (URI) коллекции командных проектов. Например: http://fabrikam-2:8080/tfs/DefaultCollection (для использования этой переменной среды на компьютере должен быть установлен продукт Visual Studio 2012 с обновлением 2 или более поздние версии).

  • TF_BUILD_DROPLOCATION Расположение размещения. Пример размещения с использованием пути UNC: \\fabrikam-1\Drops\CIBuild\CIBuild_20130613.6. Пример размещения на Team Foundation Server: #/11/drop.

  • TF_BUILD_SOURCEGETVERSION Собираемая версия (набор изменений TFVC или фиксация Git).

  • TF_BUILD_SOURCESDIRECTORY Вложенный каталог источников в рабочем каталоге агента сборки. Этот каталог содержит ваш исходный код. Например, C:\Build\BuildBot3\CoolApp\CIBuild\src.

    Пример см. в разделе Выполнение скрипта в процессе сборки.

  • TF_BUILD_TESTRESULTSDIRECTORY Вложенный каталог результатов тестирования в рабочем каталоге агента сборки. Например, C:\Build\BuildBot3\CoolApp\CIBuild\tst.

Использование данных переменных среды в MSBuild

При использовании MSBuild для компиляции кода (с помощью шаблона по умолчанию или в пользовательском процессе сборки с помощью действия MSBuild) можно передавать аргументы для управления работой. Кроме того некоторые проекты кода включают в себя специальные целевые объекты, которые можно вызвать с использованием этих аргументов. Можно использовать переменные среды TF_BUILD для включения этих параметров без изменения XML-кода в файле проекта кода.

Например, вы используете шаблон по умолчанию для сборки проекта веб-приложения ASP.NET, и вам необходимо поместить только веб-пакет в расположение промежуточного хранения. Для этого отредактируйте определение сборки и:

  • Задайте для параметра процесса Размещение вывода значение AsConfigured.

  • Добавьте в аргументы MSBuild что-либо подобное следующим параметрам:

    /p:DeployOnBuild=true;DeployMethod=Package /p:DefaultPackageOutputDir=”$(TF_BUILD_BINARIESDIRECTORY)”\WebPackage
    

Использование данных среды в программах или скриптах

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

Использование данных среды в пользовательском процессе сборки

Если требуется использовать переменную среды в пользовательском шаблоне процесса сборки, для получения данных можно использовать действие GetEnvironmentVariable. Данные можно получить из любого объекта WellKnownEnvironmentVariables.

Например, чтобы получить путь к каталогу двоичных файлов, задайте для свойства Name действия GetEnvironmentVariable значение Microsoft.TeamFoundation.Build.Activities.Extensions.WellKnownEnvironmentVariables.BinariesDirectory