LabDefaultTemplate Atividades de fluxo de trabalho
Este tópico descreve as atividades do Windows Workflow no arquivo LabDefaultTemplate.11.xaml. LabDefaultTemplate define o processo de fluxo de trabalho do Lab Management que permite compilar, implantar e testar seu aplicativo em um ambiente de laboratório. Para saber mais sobre o Windows Workflow, consulte esta página A introdução de um desenvolvedor ao Windows Workflow Foundation (WF) no .NET 4 no site do MSDN.
Requisitos
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional
Inicializando o fluxo de trabalho
A raiz do LabDefaultTemplate é a atividade TfsBuild.Process. Este ActivityBuilder inicializa os argumentos globais para a definição de compilação do fluxo de trabalho com base na entrada fornecida na janela Definição de Compilação e no Assistente de Parâmetros de Fluxo de Trabalho de Laboratório.
Argumentos
O argumento LabWorkflowParameters contém os dados fornecidos no Assistente de Parâmetros de Fluxo de Trabalho de Laboratório. Esse argumento é um objeto LabWorkflowDetails que contém os seguintes objetos:
BuildDetails |
Um objeto Microsoft.TeamFoundation.Lab.Workflow.Activities.BuildDetails que armazena os detalhes do fluxo de trabalho de compilação, implantação e teste. |
DeploymentDetails |
Um objeto Microsoft.TeamFoundation.Lab.Workflow.Activities.DeploymentDetails que armazena as informações necessárias para a implantação de uma compilação no fluxo de trabalho. |
EnvironmentDetails |
Um objeto Microsoft.TeamFoundation.Lab.Workflow.Activities.LabEnvironmentDetails que armazena as informações que identificam o ambiente a ser usado para um cenário de compilação, implantação e teste. |
TestParameters |
Um objeto Microsoft.TeamFoundation.Lab.Workflow.Activities.RunTestDetails que armazena os detalhes do parâmetro de teste que são necessários para criar a execução de teste automatizada. |
Os seguintes argumentos também são declarados no escopo global:
Argumento |
Tipo |
---|---|
Metadata |
ProcessParameterMetadataCollection |
Verbosity |
Um valor enumerado Verbosity que especifica a quantidade de informações gravadas no log. |
BuildNumberFormat |
Um String que especifica o formato do número da versão. |
SupportedReasons |
Um valor enumerado BuildReasonque especifica o motivo da compilação. |
Sequência do fluxo de trabalho de implantação do aplicativo
A sequência Fluxo de trabalho de implantação de aplicativo controla todo o cenário de compilação, implantação e teste. Fluxo de trabalho de implantação de aplicativo declara as seguintes variáveis:
|
Executando a compilação
Atualizar número da versão |
Atualizar número da versão expande e retorna o número da versão no argumento BuildNumberFormat. Atualizar número da versão é uma atividade Microsoft.TeamFoundation.Build.Workflow.Activities.UpdateBuildNumber. |
Obter detalhes da compilação |
Obter detalhes da compilação retorna os dados que são necessários para executar ou acessar a compilação que foi especificada no Assistente de Fluxo de Trabalho. O objeto IBuildDetail é armazenado na variável BuildDetail. Obter detalhes da compilação é uma atividade Microsoft.TeamFoundation.Build.Workflow.Activities.GetBuildDetail. O modelo define as seguintes propriedades:
|
Se for necessário compilação determina se uma nova compilação é necessária para um processo de compilação do Team System. Se as condições forem atendidas, o fluxo de trabalho executará a sequência Compilação. |
|
A sequência Compilação inicia a compilação, aguarda a conclusão da compilação e define o local da compilação. |
|
Iniciar fluxo de trabalho de compilação |
Iniciar fluxo de trabalho de compilação enfileira uma nova compilação no controlador de compilação especificado e retorna a ID da compilação enfileirada na variável QueueBuildId. Iniciar fluxo de trabalho de compilação é uma atividade RunWorkflow. O modelo define as seguintes propriedades:
|
Aguarde a conclusão da compilação |
Aguarde a conclusão da compilação suspende a execução até a conclusão da compilação ou decorrer um intervalo de tempo limite. A atividade acionará uma exceção se o tempo limite for atingido. A atividade retorna o status da compilação na variável BuildStatus, além dos dados sobre a nova compilação na variável ChildBuildDetail . Aguarde a conclusão da compilação é uma atividade WaitForWorkflow. O modelo define os seguintes valores de propriedade:
|
Definir local de compilação |
Definir local de compilação atribui o local da compilação com base na variável ChildBuildDetail à propriedade BuildDetails.BuildUri do argumento LabWorkflowParameters. |
Implantando o aplicativo
Atualizar resumo de implantação |
Atualizar resumo de implantação grava o nome do ambiente de destino da implantação na página da compilação. Atualizar resumo de implantação é uma atividade WriteDeploymentInformation. |
GetBuildLocationAndBuildNumber |
GetBuildLocationAndBuildNumber retorna o local de destino da construção para a variável BuildLocation. GetBuildLocationAndBuildNumber é uma atividade GetBuildLocationAndBuildNumber. O modelo define as seguintes propriedades:
|
Se as condições de Calcular a localização necessária da compilação forem atendidas, Computar caminho de compilação adicionará subpastas de configuração da plataforma e da compilação ao local de destino. |
|
Se o usuário selecionou ambiente armazenado verifica se o ambiente foi implantado e de Indicar erro acionará uma exceção se o ambiente for armazenado na biblioteca. |
|
Obter ambiente de laboratório |
Obter ambiente de laboratório retorna o URI do ambiente para a variável LabEnvironmentUri. Obter ambiente de laboratório é uma atividade GetLabEnvironmentUri. O modelo define as seguintes propriedades:
|
Se a restauração de instantâneo determina se o usuário solicitou que o ambiente fosse restaurado para um instantâneo limpo. Se a condição for atendida, a sequência Restaurar instantâneo será executada; do contrário, Limpar instantâneo não especificado gravará uma mensagem de aviso no resumo da compilação. |
|
Na sequência Restaurar instantâneo, Obter detalhes do instantâneo calcula a ID do instantâneo, e Restaurar o ambiente de laboratório para o instantâneo realiza a restauração. |
|
Obter detalhes do instantâneo |
Obter detalhes do instantâneo é uma atividade GetLabEnvironmentSnapshotId. O modelo define as seguintes propriedades:
|
Restaurar o ambiente de laboratório para o instantâneo |
Restaurar o ambiente de laboratório para o instantâneo é uma atividade RestoreLabEnvironment. O modelo define as seguintes propriedades:
|
Se necessária a implantação determina se o usuário solicitou uma implantação. |
|
Se a condição for atendida, a sequência Fazer implantação será executada. |
|
Esperar os recursos de fluxo de trabalho estarem prontos |
Esperar os recursos de fluxo de trabalho estarem prontos suspende a execução até que os recursos de fluxo de trabalho do ambiente estejam prontos ou um intervalo de tempo limite seja atingido. Se o intervalo de tempo limite for excedido, uma exceção será acionada. Esperar os recursos de fluxo de trabalho estarem prontos é uma atividade WaitForWorkflowCapabilityServices. O modelo define as seguintes propriedades:
|
Executar scripts de implantação executa a sequência Executar scripts no sistema de laboratório em cada script de implantação contido na lista de propriedades DeploymentDetails.Scripts do argumento LabWorkflowParameters. |
|
A sequência Executar scripts no sistema de laboratório executa o script especificado em uma máquina virtual no ambiente. Executar scripts no sistema de laboratório declara as seguintes variáveis:
|
|
Inicializar marcas do agente e script de implantação |
Inicializar marcas do agente e script de implantação expande as macros e as marcas do script, além de retornar os resultados em um objeto ScriptDetails. Inicializar marcas do agente e scripts de implantação é uma atividade InitializeAgentSpecAndEnvironmentVariables. O modelo define os seguintes valores:
|
Escopo do agente de laboratório |
Escopo do agente de laboratório determina se o agente de laboratório está instalado e em execução na máquina virtual de destino, além de chamar Script de implantação em execução para executar o script. Uma exceção será acionada se algum dos scripts falhar em um computador. Escopo do agente de laboratório é uma atividade Microsoft.TeamFoundation.Build.Workflow.Activities.AgentScope. O modelo define as seguintes propriedades:
|
Script de implantação em execução |
Script de implantação em execução executa o script de implantação na máquina virtual de destino. Script de implantação em execução é uma atividade RunDeploymentScript. O modelo define os seguintes valores:
|
Implantação de Aplicativo Bem-sucedida |
Implantação de Aplicativo Bem-sucedida grava informações no resumo da compilação. Implantação de Aplicativo Bem-sucedida é uma atividade WriteDeploymentInformation. |
Instantâneo pós-implantação determina se o usuário solicitou que um instantâneo do ambiente deve ser salvo depois da implantação. Se essa condição for atendida, a sequência Tirar instantâneo após a implantação será executada. Do contrário, Instantâneo pós-implantação não especificado grava uma mensagem de aviso no log. |
|
Sequência Tirar instantâneo após a implantação Tirar instantâneo após a implantação declara as seguintes variáveis: |
|
Verificar o nome do instantâneo determina se um nome do instantâneo foi especificado. Se a condição for atendida, o nome especificado será usado; do contrário, o valor padrão será usado. |
|
Tirar instantâneo após a implantação |
Tirar instantâneo após a implantação é uma atividade SnapshotLabEnvironment que cria o instantâneo. O modelo define as seguintes propriedades:
|
Instantâneo criado com êxito |
Instantâneo criado com êxito grava o nome do instantâneo no resumo da compilação. Instantâneo criado com êxito é uma atividade WriteDeploymentInformation. |
O link de conexão foi adicionado ao instantâneo |
O link de conexão foi adicionado ao instantâneo grava a URL do instantâneo no resumo da compilação. O link de conexão foi adicionado ao instantâneo é uma atividade WriteDeploymentInformation. |
Executando testes
Executar testes no ambiente determina se os testes automatizados foram solicitados. Se a condição for atendida, a sequência Executar testes será executada. |
|
Executar testes Executar testes declara as seguintes variáveis:
|
|
Esperar os recursos de teste estarem prontos |
Esperar os recursos de teste estarem prontos suspende a execução até que os recursos de testes do ambiente estejam prontos ou um intervalo de tempo limite seja atingido. Se o intervalo de tempo limite for excedido, uma exceção será acionada. Esperar os recursos de teste estarem prontos é uma atividade WaitForTestCapabilityServices. O modelo define as seguintes propriedades:
|
Executando testes |
Executando testes executa os testes e retorna os resultados de teste. Executando testes é uma atividade ExecuteRemoteTestRun. O modelo define os seguintes valores:
|
Se todos os testes não tiverem passado determina se algum teste falhou e executa Definir status da compilação se a condição tiver sido atendida. |
|
Definir status da compilação |
Definir status da compilação determina se o fluxo de trabalho inclui a compilação ou a implantação do aplicativo. Se essa condição for atendida, Êxito parcial definirá o status do fluxo de trabalho como o valor BuildStatus.PartiallySucceeded. Caso contrário, Falha define a variável BuildStatus como Failed. |
Consulte também
Conceitos
Atividades de fluxo de trabalho de gerenciamento de laboratório