Partilhar via


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

Atividade raiz processo

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.

Ff652752.collapse_all(pt-br,VS.110).gifArgumentos

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

Fluxo de trabalho de implantação de aplicativos

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:

  • BuildDetail: um objeto de IBuildDetail .

  • LabEnvironmnetUri: String que especifica a URL de ambiente no qual a compilação é implantado.

  • BuildLocation: String que especifica o local de compilação.

  • SnapshotId: String que especifica o identificador de um instantâneo da máquina virtual.

  • QueueBuildId: Int32 que especifica o identificador de compilação na fila.

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:

  • resultado retorna um objeto de IBuildDetail à variável de BuildDetail .

Se a compilação é atividade necessária

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 .

Criar atividade

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:

  • BuildDefinition é definida como a propriedade de BuildDetails.BuildDefinitionName de argumento de LabWorkflowParameters .

  • O argumento de ProjectName é definida como a propriedade de TeamProject da variável de BuildDetail.

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:

  • AllowPartiallySucceededBuild é definida como true

  • BuildDetails retorna os novos dados de compilação à variável de ChildBuildDetail .

  • MaxWaitTime é definido como infinito.

  • QueueBuildId retorna a identificação da fila da variável de QueueBuildId de compilação.

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:

  • BuildDetails é definido para o objeto de BuildDetails que está contido no argumento de LabWorkflowParameters

  • BuildNumber retorna o número de compilação à variável de BuildNumber .

  • resultado retorna o local de compilação para a variável de BuildLocation

  • SelectedBuild retorna um objeto de IBuildDetail à variável de SelectedBuildDetail que contém os dados de compilação no servidor de compilação.

Local de construção necessários a atividade de computação

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.

Se o usuário selecionou a atividade do ambiente armazenados

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:

  • LabEnvironmentName é definido como o valor da propriedade de EnvironmentDetails.LabEnvironmentName de argumento de LabWorkflowParameters .

  • ProjectName é definido como o valor da propriedade de TeamProject da variável de BuildDetail .

  • resultado retorna o URI de ambiente de laboratório à variável de LabEnvironmentUri .

  • TeamProjectLabLocationName é definido como o valor da propriedade de EnvironmentDetails.HostGroupName de argumento de LabWorkflowParameters .

  • TfsServerUrl é definido como nulo.

Se as atividades de restauração do instantâneo

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.

Restaurar a atividade de Snapshot

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:

  • LabEnvironmentUri é definido como o valor da variável de LabEnvironmentUri .

  • resultado retorna a identificação de usuário à variável de SnapshotId .

  • SnapshotName é definida como a propriedade de EnvironmentDetails.SnapshotName de argumento de LabWorkflowParameters .

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:

  • LabEnvironmentUri é definido como o valor da variável de LabEnvironmentUri.

  • SnapshotId é definido como o valor da variável de SnapshotId.

Se for necessário de implantação de atividade

Se a implantação programação determina se o usuário solicitou uma implantação.

Realizar atividade de 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:

  • LabEnvironmentUri é definido como o valor da variável de LabEnvironmentUri .

  • MaxWaitTime é definido como 20 minutos

  • RepairCapabilityBeforeWaitBegins é definido como false.

Execução de atividade de Script de implantação

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 .

Execute o Script na atividade do sistema de laboratório

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:

  • BuildLocation é definido como o valor da variável de BuildLocation .

  • DeploymentScriptDetails é definido como o valor da cadeia de caracteres iterada de DeploymentDetails.Scripts .

  • LabEnvironmentUri definido como o valor da variável de LabEnvironmentUri .

  • resultado retorna o script expandido para a variável de scriptDetails .

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:

  • MaxExecutionTime é definido como infinito.

  • MaxWaitTime é definido como 5 minutos.

  • ReservationSpec é definido para Microsoft.Te: objeto de amFoundation.Build.Client.BuildAgentSpec que é a propriedade de AgentSpec da variável de scriptDetails .

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:

  • ScriptDetails é definido como o valor da variável de scriptDetails .

  • ThrowOnError é definida como true.

  • SharedLocationForNetUse é definido como o valor da variável de BuildLocation .

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 do POST

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.

Levar a atividade de instantâneo de Post Deloyment

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:

  • PostDeploymentSnapshotChainId: Int64

  • PostDeploymentSnapshotName: String o modelo define o valor padrão ao valor da propriedade de BuildNumber da variável de BuildDetails .

Verifique a atividade de nome do instantâneo

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:

  • LabEnvironmentUri é definido como o valor da variável de LabEnvironmentUri .

  • SnapshotChainId retorna a identificação de usuário à variável de PostDeploymentSnapshotChainId .

  • SnapshotName é definido como o valor da variável de PostDeploymentSnapshotName .

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

Execução de testes no ambiente atividade

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.

Executar atividades de testes

Teste de execução

Teste de execução declarar variáveis os seguintes:

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

  • TestResults: Microsoft.TeamFoundation.Lab.Workflow.Activities.TestRunStatistics.O modelo define o valor padrão para um novo objeto de TestRunStatistics.

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:

  • LabEnvironmentUri é definido como o valor da variável de LabEnvironmentUri .

  • MaxWaitTime é definido como 20 minutos.

  • RepairCapabilityBeforeWaitBegins é definido como false.

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:

  • MaxWaitTime é definido como infinito.

  • BuildNumber é definido como o valor da variável de BuildNumber .

  • TestDirectory é definido como o valor da variável de BuildLocation .

  • LabEnvironmentUri é definido como o valor da variável de LabEnvironmentUri .

  • TestParameters é definido para o objeto de TestParameters que está contido no objeto de LabWorkflowParameters .

  • Objeto de retorna Microsoft.TeamFoundation.Lab.Workflow.Activities.RunTestDetails deresultado que contém os resultados do teste à variável de TestResults .

  • Título define o nome de ensaio ao valor da propriedade de BuildNumber da variável de BuildDetail .

Se todos os testes não passaram a atividade

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.

Consulte também

Conceitos

Atividades de fluxo de trabalho Lab Management