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


Действия рабочего процесса LabDefaultTemplate

В этом разделе описываются действия рабочих процессов Windows в файле LabDefaultTemplate.11.xaml.LabDefaultTemplate определяет процесс бизнес-правила Lab Management, который позволяет построение, развертывание и проверка приложения в лабораторной среде.Дополнительные сведения о рабочем процессе Windows см. страницу Введение разработчика в Windows Workflow Foundation (WF) в .NET 4 на веб-сайте MSDN.

Требования

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional

Инициализация рабочий процесс

Действие корня процесса

Корень LabDefaultTemplate действие TfsBuild.Process.Это ActivityBuilder инициализирует глобальные аргументы для определения построения рабочего процесса из ввода, переданного в окне определение построения и в мастере параметры рабочих процессов лаборатории.

Ff652752.collapse_all(ru-ru,VS.110).gifАргументы

Аргумент LabWorkflowParameters содержит данные, которые передаются в мастере параметры рабочих процессов лаборатории.Этот аргумент LabWorkflowDetails объект, который содержит следующие объекты:

BuildDetails

Объект Microsoft.TeamFoundation.Lab.Workflow.Activities.BuildDetails, который хранит построение детализирует углублением для построения, развертывания и проверяется рабочий процесс.

DeploymentDetails

Объект Microsoft.TeamFoundation.Lab.Workflow.Activities.DeploymentDetails, который хранит сведения, необходимые для развертывания построения в рабочем процессе.

EnvironmentDetails

Объект Microsoft.TeamFoundation.Lab.Workflow.Activities.LabEnvironmentDetails, в котором хранятся сведения, определяющие среду для построения, развертывания и тестирования " сценарий ".

TestParameters

Объект Microsoft.TeamFoundation.Lab.Workflow.Activities.RunTestDetails параметра теста, который хранит сведения, необходимые для создания выполнение автоматического теста.

Также следующие аргументы объявляются в глобальной области.

Аргумент

Тип

Metadata

ProcessParameter MetadataCollection

Verbosity

Значение перечисления Verbosity, указывающее объем сведений, которые записываются в журнал.

BuildNumberFormat

String, указывающее формат номера построения.

SupportedReasons

Значение перечисления BuildReason, указывающее причину для построения.

Последовательность рабочих процессов развертывания приложения

Рабочий процесс развертывания приложения

Все последовательности Рабочий процесс развертывания приложения управления построение, развертывание и проверяет скрипт.

Рабочий процесс развертывания приложения объявляет следующие переменные:

  • BuildDetail: объект IBuildDetail.

  • LabEnvironmnetUri: String, указывающее uri среды, в которой построение развертывания.

  • BuildLocation: String, указывающее расположение построения.

  • SnapshotId: String, указывающее идентификатор снимка виртуальной машины.

  • QueueBuildId: Int32, указывающее идентификатор построения в очередь.

Выполнять построение

Номер построения обновления

номер построения обновления развернуть и возвращает номер построения в аргументе BuildNumberFormat.номер построения обновления действие Microsoft.TeamFoundation.Build.Workflow.Activities.UpdateBuildNumber.

Получение сведений построения

Получение сведений построения возвращает данные, необходимые для запуска или обращаются построение, которое было указано в мастере рабочего процесса.Объект IBuildDetail хранится в переменной BuildDetail.

Получение сведений построения действие Microsoft.TeamFoundation.Build.Workflow.Activities.GetBuildDetail.Наборы шаблонов следующие свойства:

  • результат возвращает объект IBuildDetail к переменной BuildDetail.

Действие при необходимости построения

Определяет, является ли Если необходимо поставить новое построение, необходимые для процесса построения team system.Если условия выполняются, рабочий процесс выполняется последовательность Выполнение построения.

Действие "Выполнение построения"

Последовательность Выполнение построения начинается построение, ожидает завершения построения, а затем устанавливает расположение построения.

Запуск рабочего процесса построения

Новое построение в очередь Запуск рабочего процесса построения определенных контроллере построений и возвращениях идентификатор очереди построения в переменной QueueBuildId.Запуск рабочего процесса построения действие RunWorkflow.Наборы шаблонов следующие свойства:

  • BuildDefinition назначьте свойству BuildDetails.BuildDefinitionName аргумента LabWorkflowParameters.

  • Аргумент Название проекта ему присваивается свойству TeamProject переменной BuildDetail.

Ожидание завершения построения

Ожидание завершения построения приостанавливает выполнение до тех пор, пока оно не будет полностью готово или интервала времени ожидания истечен.Действие вызывает исключение, если время ожидания.Работа возвращает состояние построения в переменной BuildStatus и данных о новом построении в переменной ChildBuildDetail.Ожидание завершения построения действие WaitForWorkflow.Наборы шаблонов следующие значения свойств:

  • AllowPartiallySucceededBuild установлено true

  • BuildDetails возвращает новые данные построения в переменной ChildBuildDetail.

  • MaxWaitTime установлено в инфинитному.

  • QueueBuildId возвращает идентификатор очереди переменной QueueBuildId построения.

Задано расположение построения

Задано расположение построения присвоит расположение построения из переменной ChildBuildDetail к свойству BuildDetails.BuildUri аргумента LabWorkflowParameters.

Развертывание приложения

Сводка развертывания обновления

сводка развертывания обновления записывает имя целевой среды развертывания на странице построения.сводка развертывания обновления действие WriteDeploymentInformation.

GetBuildLocationAndBuildNumber

GetBuildLocationAndBuildNumber возвращает расположение удаления для построения на переменную BuildLocation.GetBuildLocationAndBuildNumber действие GetBuildLocationAndBuildNumber.Наборы шаблонов следующие свойства:

  • BuildDetails помещенные в объект BuildDetails, содержащийся в аргументе LabWorkflowParameters

  • BuildNumber возвращает номер построения для переменной BuildNumber.

  • результат возвращает расположение построения на переменную BuildLocation

  • SelectedBuild возвращает объект IBuildDetail к переменной SelectedBuildDetail, которая содержит данные построения на сервере построения.

Действие "Вычислить необходимое расположение построения"

Если условия Вычисление необходимого расположения построения выполняются, то Вычисление пути построения добавляет в нее папки платформы и конфигурации построения в место удаления.

Действие при выборе хранимой среды пользователем

Если выбранный пользователь, хранящийся среды проверяет, что среда развертывания и штрихи Указать ошибку исключение, если среды сохраняется в библиотеке.

Получите лабораторной среды

Возвращает uri Получите лабораторной среды в переменной среды LabEnvironmentUri.Получите лабораторной среды действие GetLabEnvironmentUri.Наборы шаблонов следующие properities:

  • LabEnvironmentName установлено на значение свойства EnvironmentDetails.LabEnvironmentName аргумента LabWorkflowParameters.

  • Название проекта установлено на значение свойства TeamProject переменной BuildDetail.

  • результат возвращает uri лабораторной среды в переменной LabEnvironmentUri.

  • TeamProjectLabLocationName установлено на значение свойства EnvironmentDetails.HostGroupName аргумента LabWorkflowParameters.

  • TfsServerUrl установлено в null.

Действие при восстановлении снимка

если моментальный снимок восстановления указывает, следует ли среде в запросе пользователя, которое восстанавливает чистому снимку.Если условие выполняется, то последовательность Восстановление снимка выполняется; в противном случае Чистый снимок не указан записывает сообщение предупреждения в сводку построения.

Действие восстановления снимка

В последовательности Восстановление снимка, Получение сведений о снимке вычисляет идентификатор моментального снимка и Восстановление лабораторной среды с помощью снимка выполняется восстановление.

Получите сведения моментального снимка

Получение сведений о снимке действие GetLabEnvironmentSnapshotId.Наборы шаблонов следующие свойства:

  • LabEnvironmentUri установлено в значение переменной LabEnvironmentUri.

  • результат получает идентификатор снимка в переменной SnapshotId.

  • SnapshotName назначьте свойству EnvironmentDetails.SnapshotName аргумента LabWorkflowParameters.

Лабораторная среда восстановления на публикации моментальных снимков

Восстановление лабораторной среды с помощью снимка действие RestoreLabEnvironment.Наборы шаблонов следующие свойства:

  • LabEnvironmentUri установлено в значение переменной LabEnvironmentUri.

  • SnapshotId установлено в значение переменной SnapshotId.

Действие при необходимости развертывания

Если развертывание указывает, является ли пользователь спрашивал развертывание.

Действие "Выполнение развертывание"

Если условие выполняется, то последовательность Выполнение развертывания выполняется.

Ожидание возможности рабочего процесса, готовы

Ожидание возможности рабочего процесса, готовы приостанавливает выполнение до тех пор, пока возможности рабочего процесса среды не будут готовы измененные или интервала времени ожидания.Если превышен интервала времени ожидания, то создается исключение.Ожидание возможности рабочего процесса, готовы действие WaitForWorkflowCapabilityServices.Наборы шаблонов следующие свойства:

  • LabEnvironmentUri установлено в значение переменной LabEnvironmentUri.

  • MaxWaitTime равно 20 минут

  • RepairCapabilityBeforeWaitBegins установлено в значение false.

Действие выполнения скрипта развертывания

Выполнить сценарии развертывания выполняет последовательность Скрипт запуска в лабораторной системе в каждом сценарии развертывания, который содержится в списке свойства DeploymentDetails.Scripts аргумента LabWorkflowParameters.

Действие выполнения скрипта в лабораторной системе

Последовательность Скрипты запуск лабораторной системе выполняет указанный скрипт на виртуальной машине среды.Скрипты запуск лабораторной системе объявляет следующие переменные:

Инициализация теги и скрипт развертывания агента

Инициализация теги и скрипт развертывания агента разверните узел макросы и тегов скрипта и возвращает результаты в объекте ScriptDetails.Инициализация теги и скрипт развертывания агента действие InitializeAgentSpecAndEnvironmentVariables.Наборы шаблонов следующие значения:

  • BuildLocation установлено в значение переменной BuildLocation.

  • DeploymentScriptDetails установлено в значение повторенной строки DeploymentDetails.Scripts.

  • LabEnvironmentUri, для значения переменной LabEnvironmentUri.

  • Разрезанная результат возвращает скрипт в переменной scriptDetails.

Область агент лаборатории

Область агент лаборатории определяет, будет ли агент лаборатории установлен и выполнение на виртуальной машине целевого объекта и вызывается Выполнение сценария развертывания для выполнения скриптов.Исключение возникает, если любые скрипты завершаются ошибкой на компьютере.Область агент лаборатории действие Microsoft.TeamFoundation.Build.Workflow.Activities.AgentScope.Наборы шаблонов следующие свойства:

  • MaxExecutionTime установлено в инфинитному.

  • MaxWaitTime равно 5 минут.

  • ReservationSpec установлено в Microsoft.Te: объект amFoundation.Build.Client.BuildAgentSpec, свойство AgentSpec переменной scriptDetails.

Выполнение сценария развертывания

Выполнение сценария развертывания выполняет сценарий развертывания на виртуальной машине целевого объекта.Выполнение сценария развертывания действие RunDeploymentScript.Наборы шаблонов следующие значения:

  • ScriptDetails установлено в значение переменной scriptDetails.

  • ThrowOnError установлено значение true.

  • SharedLocationForNetUse установлено в значение переменной BuildLocation.

Выполнено развертывание приложений

Записывает данные Выполнено развертывание приложений в сводку построения.Выполнено развертывание приложений действие WriteDeploymentInformation.

Снимок состояния после развертывания

Моментальный снимок развертывания публикует указывает, является ли пользователь спрашивал, что моментальный снимок среды сохраняется после развертывания.Если это условие выполняется, то последовательность Создайте снимок после развертывания выполняется.В противном случае - значение Снимок после развертывания не указан записывает сообщение предупреждения в журнал.

Действие создания снимка состояния после развертывания

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

Создайте снимок после развертывания объявляет следующие переменные:

  • PostDeploymentSnapshotChainId: Int64

  • PostDeploymentSnapshotName: String наборы шаблонов значение по умолчанию свойства BuildNumber переменной BuildDetails.

Действие "Проверить имя снимка"

Имя моментального снимка проверки указывающее, было ли указано имя моментального снимка.Если условие выполняется, то указанное имя будет использоваться; в противном случае используется значение по умолчанию.

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

Создание моментального снимка развертывания публикует действие SnapshotLabEnvironment, которая создает моментальный снимок.Наборы шаблонов следующие свойства:

  • LabEnvironmentUri установлено в значение переменной LabEnvironmentUri.

  • SnapshotChainId получает идентификатор снимка в переменной PostDeploymentSnapshotChainId.

  • SnapshotName установлено в значение переменной PostDeploymentSnapshotName.

Занимать succeeded моментальный снимок

Занимать succeeded моментальный снимок записывает имя моментального снимка, в виде сводки построения.Занимать succeeded моментальный снимок действие WriteDeploymentInformation.

Добавленная ссылка подключиться к снимку

Добавленная ссылка подключиться к снимку записывает url-адреса моментального снимка в сводку построения.Добавленная ссылка подключиться к снимку действие WriteDeploymentInformation.

Выполнение тестов

Действие выполнения тестов в среде

Тестов запуска среды указывает, была ли запрошена автоматические тесты.Если условие выполняется, то последовательность Выполнение тестов выполняется.

Действие выполнения тестов

Выполнение тестирования

Выполнение тестов объявляет следующие переменные:

  • TestCapabilityInfo: Microsoft.TeamFoundation.Lab.Client.TestingCapabilityInformation.

  • TestResults: Microsoft.TeamFoundation.Lab.Workflow.Activities.TestRunStatistics.Наборы шаблонов по умолчанию к новому объекту TestRunStatistics.

Ожидание возможностей тестирования были готовы

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

Ожидание возможностей тестирования были готовы действие WaitForTestCapabilityServices.Наборы шаблонов следующие свойства:

  • LabEnvironmentUri установлено в значение переменной LabEnvironmentUri.

  • MaxWaitTime равно 20 минут.

  • RepairCapabilityBeforeWaitBegins установлено в значение false.

Выполнение тестов

Выполнение тестов выполняет тесты и возвращает результаты теста.Выполнение тестов действие ExecuteRemoteTestRun.Наборы шаблонов следующие значения:

  • MaxWaitTime установлено в инфинитному.

  • BuildNumber установлено в значение переменной BuildNumber.

  • TestDirectory установлено в значение переменной BuildLocation.

  • LabEnvironmentUri установлено в значение переменной LabEnvironmentUri.

  • TestParameters помещенные в объект TestParameters, который содержится в объекте LabWorkflowParameters.

  • Объект возвращений Microsoft.TeamFoundation.Lab.Workflow.Activities.RunTestDetails результат, содержащий результаты тестов в переменной TestResults.

  • Название задает имя тестового запуска на значение свойства BuildNumber переменной BuildDetail.

Действие при неудачном завершении всех тестов

Если не все тесты пройдены определяет терпели ошибкой, есть ли тесты и выполняет Задание состояния построения, если условие выполняется.

Установлено состояние построения

Задание состояния построения определяет, включает ли рабочий процесс построение или развертывание приложения.Если это условие выполняется, то частично succeded устанавливает состояние рабочего процесса в значение BuildStatus.PartiallySucceeded.В противном случае - значение Сбой задает BuildStatus переменным в Failed.

См. также

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

Действия рабочего процесса Lab Management