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 fluxo de trabalho do Windows, consulte esta página Introdução de um desenvolvedor para o Windows Workflow Foundation (WF) no .NET 4 no site do MSDN.
Requisitos
- O Visual Studio Enterprise, 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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_LabWorkflowDetailsClass que contém os seguintes objetos:
BuildDetails |
A b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_BuildDetailsObject objeto que armazena os detalhes da compilação, implantar e testar o fluxo de trabalho. |
DeploymentDetails |
A b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_LabEnvironmentDetailsObject objeto que armazena as informações necessárias para a implantação de uma compilação no fluxo de trabalho. |
EnvironmentDetails |
A b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_LabEnvironmentDetailsObject objeto que armazena as informações que identificam o ambiente para usar para uma compilação, implantar e testar o cenário. |
TestParameters |
A b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_RunTestDetailsObject objeto que armazena os detalhes de parâmetro de teste que são necessários para criar a execução do teste automatizado. |
Os seguintes argumentos também são declarados no escopo global:
Argumento |
Tipo |
---|---|
Metadata |
ProcessParameterMetadataCollection |
Verbosity |
Um valor enumerado T:Microsoft.TeamFoundation.Build.Workflow.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 de Compilaçã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 a7c92c11-6bbb-4b5e-ab35-af5edb7c6cf5#Activity_UpdateBuildNumber. |
Obter detalhes de 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 a7c92c11-6bbb-4b5e-ab35-af5edb7c6cf5#Activity_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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_RunWorkflow. O modelo define as seguintes propriedades:
|
Aguarde a conclusão da compilação |
Aguardar a conclusão da compilação suspende a execução até que a compilação estiver concluída ou um intervalo de tempo limite é transcorrido. 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 . Aguardar a conclusão da compilação é um b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WaitForWorkflow atividade. O modelo define os seguintes valores de propriedade:
|
Definir local de compilação |
Definir o local de compilação atribui a localização da compilação do ChildBuildDetail variável para o BuildDetails.BuildUri propriedade do LabWorkflowParameters argumento. |
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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WriteDeploymentInformation. |
GetBuildLocationAndBuildNumber |
GetBuildLocationAndBuildNumber retorna o local de destino da construção para a variável BuildLocation. GetBuildLocationAndBuildNumber é uma atividade b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_GetBuildLocationAndBuildNumber. O modelo define as seguintes propriedades:
|
Se o localização necessária da compilação de computação condições forem atendidas, caminho de compilação de computação adiciona subpastas de configuração da plataforma e da compilação para o local de destino. |
|
Se o usuário selecionou ambiente armazenado verifica se o ambiente foi implantado e indicar erro lança uma exceção se o ambiente é 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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_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. |
|
No restauração do instantâneo seqüência, obter detalhes do instantâneo calcula a id do instantâneo, e restaurar o ambiente de laboratório para instantâneo executa a restauração. |
|
Obter detalhes do instantâneo |
Obter detalhes do instantâneo é uma atividade b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_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, o fazer implantação seqüência é 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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WaitForWorkflowCapabilityServices. O modelo define as seguintes propriedades:
|
Scripts de implantação executar executa o Executar Script no sistema de laboratório seqüência em cada script de implantação que está contida no DeploymentDetails.Scripts lista de propriedades a LabWorkflowParameters argumento. |
|
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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_ScriptDetailsObject. Inicializar marcas do agente e scripts de implantação é uma atividade b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_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 é um a7c92c11-6bbb-4b5e-ab35-af5edb7c6cf5#Activity_AgentScopeatividade. 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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_RunDeploymentScript. O modelo define os seguintes valores:
|
Implantação do 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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WriteDeploymentInformation. |
Instantâneo pós-implantação determina se o usuário solicitou que um instantâneo do ambiente deve ser salvo após a 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. |
|
Tirar instantâneo pós-implantação seqüência 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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_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 o recurso de teste do ambiente estejam pronto 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 b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WaitForTestCapabilityServices. O modelo define as seguintes propriedades:
|
Executando testes |
Executando testes executa os testes e retorna os resultados de teste. Executando testes é uma atividade b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_ExecuteRemoteTestRun. O modelo define os seguintes valores:
|
Se todos os testes passaram não determina se todos os testes falharam e executa Definir status da compilação se a condição for atendida. |
|
Definir status da compilação |
Definir status da compilação determina se o fluxo de trabalho inclui a compilação ou 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
Atividades de fluxo de trabalho de gerenciamento de laboratório