Atividades de fluxo de trabalho LabDefaultTemplate
Este tópico descreve as atividades de fluxo de trabalho do windows no arquivo de LabDefaultTemplate.11.xaml.LabDefaultTemplate define o gerenciamento de laboratório o processo de fluxo de trabalho que permite que o compilação, implantar, e testar seu aplicativo em um ambiente de laboratório.Para aprender mais sobre o fluxo de trabalho do windows, consulte esta página A entrada de um desenvolvedor a Windows Workflow Foundation (WF) em .NET 4 no site do MSDN.
Requisitos
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional
Inicializando o fluxo de trabalho
A raiz de LabDefaultTemplate é a atividade de TfsBuild.Process.Este ActivityBuilder inicializa os argumentos globais para a definição de compilação de fluxo de trabalho de entrada fornecidas na janela de definição de compilação e o assistente dos parâmetros de fluxo de trabalho de laboratório.
Argumentos
O argumento de LabWorkflowParameters contém os dados que são fornecidos no assistente dos parâmetros de fluxo de trabalho de laboratório.Esse argumento é um objeto de LabWorkflowDetails que contém os seguintes objetos:
BuildDetails |
Um objeto de Microsoft.TeamFoundation.Lab.Workflow.Activities.BuildDetails que armazena a compilação detalha para a compilação, implantar, e testar o fluxo de trabalho. |
DeploymentDetails |
Um objeto de Microsoft.TeamFoundation.Lab.Workflow.Activities.DeploymentDetails que armazena informações que são necessárias para a implantação de uma compilação no fluxo de trabalho. |
EnvironmentDetails |
Um objeto de Microsoft.TeamFoundation.Lab.Workflow.Activities.LabEnvironmentDetails que armazena informações que identificam o ambiente para usar para uma compilação, implantar, e cenário de teste. |
TestParameters |
Um objeto de Microsoft.TeamFoundation.Lab.Workflow.Activities.RunTestDetails que armazena os detalhes do parâmetro de teste que são necessárias para criar o ensaio automatizado. |
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 que são gravadas no log. |
BuildNumberFormat |
String que especifica o formato do número de compilação. |
SupportedReasons |
Um valor enumerado BuildReasonque especifica a razão para a compilação. |
Seqüência de fluxo de trabalho de implantação do aplicativo
Os controles de seqüência de Fluxo de trabalho de implantação do aplicativo a construção inteira, implantação, e cenário de teste. Fluxo de trabalho de implantação do aplicativo declarar variáveis os seguintes:
|
Executando a compilação
Número de compilação de atualização |
Número de compilação de atualização expande e retorna o número de compilação no argumento de BuildNumberFormat .Número de compilação de atualização é uma atividade de Microsoft.TeamFoundation.Build.Workflow.Activities.UpdateBuildNumber . |
Obter detalhes de compilação |
Obter detalhes de 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 de IBuildDetail é armazenado na variável de BuildDetail . Obter detalhes de compilação é uma atividade de Microsoft.TeamFoundation.Build.Workflow.Activities.GetBuildDetail .O modelo defina as seguintes propriedades:
|
Se a compilação for necessária determina se uma nova compilação será necessária para um processo de compilação do sistema de equipe.Se as condições forem atendidas, o fluxo de trabalho executa a seqüência de compilar . |
|
A seqüência de compilar inicia a compilação, aguarda a compilação para concluir, e defina o local de compilação. |
|
Fluxo de trabalho de compilação de Início |
Fluxo de trabalho de compilação de Início na fila uma nova compilação especificado no controlador de compilação e retorna a identificação de compilação na fila na variável de QueueBuildId .Fluxo de trabalho de compilação de Início é uma atividade de RunWorkflow .O modelo defina as seguintes propriedades:
|
Espera para que a compilação seja concluído |
Espera para que a compilação seja concluído suspende a execução até que a compilação seja concluída ou um intervalo de tempo limite é decorrido.A atividade gera uma exceção se o tempo limite é alcançado.A atividade retorna o status de compilação na variável de BuildStatus , e em dados sobre a nova compilação na variável de ChildBuildDetail.Espera para que a compilação seja concluído é uma atividade de WaitForWorkflow .O modelo define os seguintes valores de propriedade:
|
Local set de compilação |
Local set de compilação atribui o local de compilação da variável de ChildBuildDetail à propriedade de BuildDetails.BuildUri de argumento de LabWorkflowParameters . |
Implantando o aplicativo
Resumo de implantação de atualização |
Resumo de implantação de atualização grava o nome do ambiente de destino de implantação para a página de compilação.Resumo de implantação de atualização é uma atividade de WriteDeploymentInformation . |
GetBuildLocationAndBuildNumber |
GetBuildLocationAndBuildNumber retorna o local para colocação para a compilação à variável de BuildLocation .GetBuildLocationAndBuildNumber é uma atividade de GetBuildLocationAndBuildNumber .O modelo defina as seguintes propriedades:
|
Se as condições de Local de compilação de cálculo necessário forem atendidas, Caminho de compilação de cálculo adiciona subpastas da plataforma e de compilação no local de entrega. |
|
Verificações dese o usuário selecionado armazenou o ambiente que o ambiente está implantado, e de Indica o erro gera uma exceção se o ambiente é armazenado na biblioteca. |
|
Obter o ambiente de laboratório |
Obter o ambiente de laboratório retorna o URI da variável de ambiente LabEnvironmentUri .Obter o ambiente de laboratório é uma atividade de GetLabEnvironmentUri .O modelo define os seguintes properities:
|
Se instantâneo de minimizar determina se o usuário que solicitou o ambiente é restaurado a um instantâneo limpa.Se a condição for satisfeita, a seqüência de Instantâneo de minimizar é executada; se não Limpe o usuário não especificado grava uma mensagem de aviso para o resumo de compilação. |
|
Em a seqüência de Instantâneo de minimizar , Obter detalhes do usuário calcula a identificação de usuário, e Restaurar o ambiente de laboratório ao usuário executa a restaurar. |
|
Obter detalhes do usuário |
Obter detalhes do usuário é uma atividade de GetLabEnvironmentSnapshotId .O modelo defina as seguintes propriedades:
|
Ambiente de laboratório de minimizar ao usuário |
Ambiente de laboratório de minimizar ao usuário é uma atividade de RestoreLabEnvironment .O modelo defina as seguintes propriedades:
|
Se a implantação programação determina se o usuário solicitou uma implantação. |
|
Se a condição for satisfeita, a seqüência de faça a implantação é executada. |
|
Espera para o recurso de fluxo de trabalho está pronto |
Espera para o recurso de fluxo de trabalho está pronto suspende a execução até que o recurso de fluxo de trabalho de ambiente ele esteja pronto ou um intervalo de tempo limite for atingido.Se o intervalo de tempo limite é excedido uma exceção é lançada.Espera para o recurso de fluxo de trabalho está pronto é uma atividade de WaitForWorkflowCapabilityServices .O modelo defina as seguintes propriedades:
|
Scripts de implantação de execução executa a seqüência de Script de execução no sistema de laboratório em cada script de implantação que está contido na lista de propriedades de DeploymentDetails.Scripts de argumento de LabWorkflowParameters . |
|
A seqüência de Scripts no sistema de laboratório executa o script especificado em um computador virtual no ambiente.Scripts no sistema de laboratório declarar variáveis os seguintes:
|
|
Inicializar marcas de agente e script de implantação |
Inicializar marcas de agente e script de implantação expande macros e as marcas de script e retorna os resultados em um objeto de ScriptDetails .Inicializar marcas de agente e script de implantação é uma atividade de 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 é instalado e em execução no virtual de destino e então chama O script em execução de implantação para executar script.Uma exceção é lançada se qualquer um dos scripts falhará em um computador.Escopo do agente de laboratório é uma atividade de Microsoft.TeamFoundation.Build.Workflow.Activities.AgentScope.O modelo defina as seguintes propriedades:
|
O script em execução de implantação |
O script em execução de implantação executa o script de implantação no virtual de destino.O script em execução de implantação é uma atividade de RunDeploymentScript .O modelo define os seguintes valores:
|
Implantação bem-sucedida de aplicativo |
Grava as informações deImplantação bem-sucedida de aplicativo ao resumo de compilação.Implantação bem-sucedida de aplicativo é uma atividade de WriteDeploymentInformation . |
Instantâneo de implantação de postagem determina se o usuário que solicitou um instantâneo de ambiente deve ser salvo após a implantação.Se esta condição seja satisfeita, a seqüência de Leve o instantâneo de implantação de postagem é executada.Caso contrário, Instantâneo de implantação de postagem não especificado grava uma mensagem de aviso para o log. |
|
Seqüência deLeve o instantâneo de implantação de postagem Leve o instantâneo de implantação de postagem declarar variáveis os seguintes: |
|
Nome de retrato de verificação determina se um nome de usuário foi especificado.Se a condição for satisfeita, o nome especificado é usado; se não o valor padrão é usado. |
|
Colocando o instantâneo de implantação de postagem |
Colocando o instantâneo de implantação de postagem é uma atividade de SnapshotLabEnvironment que cria o usuário.O modelo defina as seguintes propriedades:
|
Colocando o usuário com sucesso |
Colocando o usuário com sucesso grava o nome de usuário ao resumo de compilação.Colocando o usuário com sucesso é uma atividade de WriteDeploymentInformation . |
Adicionado link de conexão ao usuário |
Adicionado link de conexão ao usuário grava o URL de retrato ao resumo de compilação.Adicionado link de conexão ao usuário é uma atividade de WriteDeploymentInformation . |
Executar testes
Teste o ambiente de execução determina se os testes automatizados foram aplicativos.Se a condição for satisfeita, a seqüência de Teste de execução é executada. |
|
Teste de execução Teste de execução declarar variáveis os seguintes:
|
|
Espera para recursos de teste estão prontos |
Espera para recursos de teste estão prontos suspende a execução até que o recurso de testes de ambiente ele esteja pronto ou um intervalo de tempo limite for atingido.Se o intervalo de tempo limite é excedido uma exceção é lançada. Espera para recursos de teste estão prontos é uma atividade de WaitForTestCapabilityServices .O modelo defina as seguintes propriedades:
|
Executar testes |
Executar testes executa os testes e retorna os resultados do teste.Executar testes é uma atividade de ExecuteRemoteTestRun .O modelo define os seguintes valores:
|
Se todos os testes não passou determina se qualquer teste falhou e executa Status set de compilação se a condição for satisfeita. |
|
Status set de compilação |
Status set de compilação determina se o fluxo de trabalho inclui a compilação ou a implantação do aplicativo.Se esta condição seja satisfeita, succeded parcialmente define o status de fluxo de trabalho para o valor de BuildStatus.PartiallySucceeded .Caso contrário, com falha defina a variável de BuildStatus a Failed. |