Настраиваемые свойства построения 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>
См. также
Задачи
Практическое руководство. Использование переменных среды в построении