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


Задачи Team Foundation Build

Обновлен: Ноябрь 2007

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

В файле .targets системы MSBuild для системы Team Foundation Build, Microsoft.TeamFoundation.Build.targets, определены несколько задач Team Foundation Build, которые можно настроить, устанавливая свойства в файле TfsBuild.proj. Например, целевой объект CoreGet содержит задачу Get, которая позволяет извлечь определенный набор изменений для типа построения. По умолчанию задача Get извлекает последние файлы. Дополнительные сведения о файлах .targets см. в разделе Файлы Targets в MSBuild.

Список задач по умолчанию в файле Microsoft.TeamFoundation.Build.targets

Следующие задачи можно настроить, изменяя их свойства.

Задача Team Foundation Build

Связанный целевой объект

Get, задание

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

Get

Задача Label

Помечает все исходные файлы заданной рабочей области.

Label

Задача GenCheckinNotesUpdateWorkItems

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

Целевой объект GetChangeSetsAndUpdateWorkitems вызывается, если построение завершилось удачно.

Целевой объект GetChangeSetsOnBuildBreak вызывается, если построение завершилось неудачно.

Задание CreateNewWorkItem

Создает новый рабочий элемент для сбоев, произошедших во время процесса построения. Также обновляет поле Found In в рабочем элементе ссылкой на определенный номер построения.

CreateWorkItem

Задача CreateWorkspaceTask

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

InitializeWorkspace

Задача DeleteWorkspaceTask

Удаляет рабочую область, созданную во время выполнения построения. Действительные файлы не удаляются с компьютера построения. Если заданная рабочая область не существует, задача DeleteWorkspaceTask выдает предупреждение.

InitializeWorkspace

Задача UpdateBuildNumberDropLocation

Создает в заданном расположении папку для размещения созданных во время построения файлов. Также обновляет номер построения.

InitializeEndToEndIteration

Задача TestToolsTask

Выполняет набор тестов во время построения и публикует результаты.

RunTestWithConfiguration

Задача BuildStep

Добавляет в построение этапы построения.

None

Задача GetBuildProperties

Выводит начальные значения для свойств построения.

InitializeBuildProperties

Задача SetBuildProperties

Устанавливает любое свойство построения, которое подлежит установке.

None

WorkspaceItemConverterTask, задание

Преобразует элементы сервера контроля версий в элементы локальной рабочей области и наоборот.

ResolveSolutionPathsForEndToEndIteration и ResolveTestFilesForEndToEndIteration

Изменение задач Team Foundation Build

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

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

Чтобы настроить рабочий элемент, созданный при сбое построения, задайте свойство WorkItemFieldValues в файле TFSBuild.proj:

ms243778.alert_note(ru-ru,VS.90).gifПримечание.

В следующем примере предполагается, что свойства 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

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

Настраиваемые цели Team Foundation Build