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


Настраиваемые свойства построения Team Foundation

Свойства MSBuild представляют собой пары "ключ-значение", которые можно использовать для настройки построений. Дополнительные сведения см. в разделе Свойства MSBuild.

В файле Microsoft.TeamFoundation.Build.targets определено несколько целей MSBuild, заданий, и свойств для Team Foundation Build. Вы можете изменить эти свойства в файле TFSBuild.proj для:

  • передачи значений заданиям Team Foundation Build и целям;

  • переопределения некоторых действий по построению;

Дополнительные сведения о файле TFSBuld.proj см. в разделе Описание файлов конфигурации Team Foundation Build.

В этом документе имеются следующие главы:

Настройка построений Visual C++

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

Свойства, которые могут быть переопределены

В следующей таблице перечислены свойства, определенные для Team Foundation Build. Эти свойства можно переопределить в файле TfsBuild.proj для настройки процесса построения. Дополнительные сведения см. в разделе Настройка группы элементов SolutionToBuild.

Свойство

Описание

BinariesRoot

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

CleanCompilationOutputOnly

Задайте это свойство равным true для удаление только промежуточных сборок из исходных каталогов во время выполнения цели CoreClean. Если для этого свойства задано значение false, все исходные каталоги удаляются во время выполнения целевого объекта CoreClean.

CustomizableOutDir

Задайте это свойство равным true, когда хотите запретить Team Foundation Build отдельную установку OutDir для каждого решения. Обратите внимание, что вы можете использовать свойство TeamBuildOutDir для извлечения значения, которое Team Foundation Build присвоил бы PublishDir, если бы CustomizableOutDir было равно false.

CustomizablePublishDir

Установите для этого свойства значение true, если Team Foundation Build не следует задавать каталог PublishDir для каждого решения. Обратите внимание, что вы можете использовать свойство TeamBuildPublishDir для извлечения значения, которое Team Foundation Build присвоил бы PublishDir, если бы CustomizablePublishDir было равно false.

CustomPropertiesForBuild

Задайте это свойство для передачи специальных значений всем решениям при вызове Team Foundation Build своего целевого объекта по умолчанию (обычно Build).

CustomPropertiesForClean

Задайте этой свойство, чтобы передать специальные значения всем решениям при вызове Team Foundation Build целевому объекту Clean.

GetAllowUnmapped

Установите для этого свойства значение false, чтобы построение становилось неудачным при наличии несопоставленных файлов в наборе отложенных изменений (для условных возвратов и частных построений).

GetAutoMerge

Установите для этого свойства значение false, чтобы построение становилось неудачным при наличии каких-либо конфликтов во время выполнения операции Get в системе управления версиями в случае условного возврата или частного построения.

GetNoCIOption

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

IncrementalBuild

Задайте это свойство равным true для выполнения инкрементного построения. Это свойство предназначено для удобства и устанавливает свойство SkipClean равным true, свойство SkipInitializeWorkspace равным true, и ForceGet равным false.

IncrementalGet

Задайте это свойство равным true, чтобы выполнить добавочную загрузку. Это свойство предназначено для удобства и устанавливает свойство CleanCompilationOutputOnly равным true, свойство SkipInitializeWorkspace равным true и свойство ForceGet равным false.

LabelComment

Задайте это свойство, чтобы определить комментарий, используемый задачей Label.

LabelName

Задайте имя метки, чтобы определить имя, используемое задачей Label. По умолчанию для имени метки установлено значение $(BuildNumber) в целевом объекте InitializeEndToEndIteration.

OutDir

Задайте это свойство, чтобы определить расположение выходных файлов в рабочей папке построения.

PerformTestImpactAnalysis

Установите для этого свойства значение false, чтобы отключить анализ влияния тестов.

PublishTestResults

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

SkipClean

Задайте это свойство, чтобы пропустить целевой объект CoreClean.

SkipDropBuild

Задайте это свойство, чтобы пропустить целевой объект CoreDropBuild.

SkipGet

Задайте это свойство, чтобы пропустить целевой объект CoreGet.

SkipGetChangesetsAndUpdateWorkItems

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

SkipInitializeWorkspace

Задайте это свойство, чтобы пропустить целевой объект CoreInitializeWorkspace.

SkipInvalidConfigurations

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

SkipLabel

Задайте это свойство, чтобы пропустить целевой объект CoreLabel.

SkipPostBuild

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

SkipWorkItemCreation

Задайте это свойство, чтобы пропустить целевой объект CoreCreateWorkItem.

SolutionRoot

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

StopOnFirstFailure

Установите для этого свойства значение true, чтобы процесс очистки, компиляции или тестирования останавливался при первом сбое, возникшем во время выполнения построения.

UpdateAssociatedWorkItemsOnBuildBreak

Задайте этой свойство равным true для обновления связанных рабочих элементов даже в случае прерванного построения.

Настройка построений Visual C++

Team Foundation Build также поддерживает настройку построений проектов Visual C++ 9.0. Вы можете использовать следующие свойства для задания соответствующих свойств задания VCBuild, используемого MSBuild для построения проектов Visual C++. Дополнительные сведения см. в разделе VCBuild Task.

Свойство Team Build

Свойство задания VCBuild

Описание

VCBuildAdditionalLibPaths

AdditionalLibPaths

Задает дополнительные маршруты для поиска библиотек перед поиском в каталогах, заданных в переменной окружения LIB (соответствует параметра LIBPATH для LINK.exe).

VCBuildAdditionalOptions

AdditionalOptions

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

VCBuildToolPath

ToolPath

Указывает местоположение, откуда задание VCBuild загружает свой исполняемый файл (vcbuild.exe).

VCBuildUseEnvironment

UseEnvironment

Установите это свойство равным true, чтобы использовать переменные окружения для PATH, INCLUDE, LIBS, и LIBPATH. В противном случае задайте false. Это свойство соответствует параметра /useenv в VCBuild.exe. Дополнительные сведения см. в разделе /useenv.

AdditionalVCOverrides

Отсутствует

Это свойство используется для задания дополнительных опций для файла (файлов) вкладки свойств задания VCBuild, генерируемых Team Foundation Build и заданных свойством Override задания VCBuild.

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

Каждое задание по умолчанию Team Foundation Build в файле Microsoft.TeamFoundation.Build.targets также включает набор свойств, которые можно использовать для настройки задания. Дополнительные сведения о заданиях Team Foundation Build см. в разделе Задачи Team Foundation Build. Например, задание CreateNewWorkItem определяется следующим образом.

<!-- Create WorkItem for build failure -->
<CreateNewWorkItem
          TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
          BuildUri="$(BuildUri)"
          BuildNumber="$(BuildNumber)"
          Description="$(WorkItemDescription)"
          TeamProject="$(TeamProject)"
          Title="$(WorkItemTitle)"
          WorkItemFieldValues="$(WorkItemFieldValues)"
          WorkItemType="$(WorkItemType)"
          ContinueOnError="true" />

Для настройки рабочего элемента, создаваемого в случае сбоя при построении, установите значение свойства WorkItemFieldValues в файле TFSBuild.proj:

Примечание

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

<WorkItemFieldValues>Area Path=$(AreaPath);Iteration Path=$(IterationPath);Severity=1;Priority=0;Symptom=build break;Steps To Reproduce=Start the build using Team Build;Source=Development;How Found=Build Break;Assigned To=Active</WorkItemFieldValues>

См. также

Задачи

Практическое руководство. Использование переменных среды в построении

Основные понятия

Описание файлов конфигурации Team Foundation Build