Personalizando o fluxo de trabalho do Lab Management

O fluxo de trabalho de ponta a ponta de Visual Studio Lab Management ajuda você a automatizar a criação do aplicativo, a implantação de nova compilação para um ambiente virtual e executando testes no build novo. O LabDefaultTemplate é fornecido como um modelo de fluxo de trabalho padrão que você pode usar imediatamente. Para obter informações sobre como usar o LabDefaultTemplate, consulte Como: Implantar um aplicativo em um ambiente Virtual. Mas cada processo de teste implantar build (BDT) pode estar ligeiramente diferente devido a diferentes requisitos. Por exemplo, um fluxo de trabalho pode exigir a copiar os binários de teste do local de compilação regular, enquanto outro fluxo de trabalho precisa copiar os binários de teste de um local temporário. Ou um fluxo de trabalho pode exigir que o ambiente é salvo na biblioteca para cada testador implantar, enquanto outro fluxo de trabalho não salva todo o ambiente. Porque o modelo de fluxo de trabalho padrão baseia-se no 4.0 de fluxo de trabalho do Windows, ele é totalmente extensível e personalizável e você pode personalizar LabDefaultTemplate para atender às suas necessidades específicas.

Este tópico descreve as etapas gerais para personalizar o modelo de fluxo de trabalho e fornece exemplos de cinco cenários onde a personalização é muito útil:

  • Especifique o local de binários de teste diferente compilação.

  • Suporte a implantações de aplicativos que exigem uma reinicialização após a instalação.

  • Leia os arquivos de controle de origem.

  • Acesse um local de destino de compilação usando a conta de agente de compilação.

  • Acesso a outros locais usando a conta de serviço do laboratório.

Os conceitos básicos de personalização de fluxo de trabalho

Há três principais conceitos envolvidos na personalização de fluxo de trabalho:

  • Modelo o modelo define a seqüência de etapas que fazem parte do fluxo de trabalho ou de atividades. O modelo é baseado no Windows Workflow Foundation 4.0 e é armazenado como um arquivo. XAML no controle de origem. Para carregar o modelo no Editor de fluxo de trabalho, clique duas vezes no arquivo. XAML. No Editor, você poderá ver as diversas atividades e seqüências que determinam o fluxo de trabalho. Em seguida, você pode usar variáveis com escopos diferentes, a lógica condicional, loops, e assim por diante para programar o modelo, assim como faria com qualquer outra linguagem de programação. O Windows Workflow Foundation permite que você personalizar o modelo padrão de laboratório para atender às suas necessidades.

  • Atividades a atividade é o bloco de construção de um fluxo de trabalho e o modelo padrão do laboratório usa muitas atividades. Você pode localizar atividades adicionais no caixa de ferramentas sob o título As atividades do Team Foundation Lab Management. Para usar uma atividade no fluxo de trabalho, arraste-o na caixa de ferramentas para o Visual Studio O Editor de fluxo de trabalho para o local apropriado no modelo. Você pode determinar os parâmetros de entrada e saídos, observando as propriedades da atividade. Para obter mais informações sobre cada atividade de Lab Management, consulte Atividades de LabManagement do Team Foundation. Se as atividades que estão incluídas com o produto não são suficientes para atender às suas necessidades, você pode adicionar novas atividades.

  • Argumentos você pode criar novos argumentos de entrada para as entradas que você precisa do usuário e passar esses valores para as atividades. Clique o argumentos na parte inferior da janela do Editor de fluxo de trabalho para ver os argumentos existentes. Se você criar novos argumentos, eles aparecerão na Criar parâmetros de processo seção a processo guia na definição da compilação.

Pense sobre esses conceitos como você analisar dois exemplos a seguir onde a personalização é necessária. O primeiro exemplo fala sobre como alterar no-argumento de uma atividade existente no modelo e o segundo exemplo fala sobre como adicionar novas atividades da caixa de ferramentas. Esses exemplos devem fornecer contexto suficiente para personalizar o LabDefaultTemplate de acordo com a suas necessidades.

Antes de iniciar a personalização

Existem algumas etapas gerais que devem ser concluídas antes de começar a personalizar o LabDefaultTemplate o modelo de fluxo de trabalho. O diagrama a seguir ilustra essas etapas.

Local daPasta padrão <>modelos de fluxo de trabalho de>

Para se preparar para personalização

  1. Em Team Explorer, clique duas vezes o Controle de origem o nó para o seu projeto de equipe.

  2. Em Gerenciador de controle de código-fonte, expanda a árvore de controle de origem e encontrar o $/ <Project_Name> / BuildProcessTemplates pasta.

  3. Mapear a esta pasta para uma pasta local, por exemplo, C:\Sources.

  4. Clique com o botão direito no arquivo LabDefaultTemplate.xaml e clique em Get Latest Version.

  5. Faça uma cópia do arquivo LabDefaultTemplate.xaml e dê a ele um novo nome, por exemplo, LabDefaultTemplate_customize.xaml

  6. Adicione esse novo arquivo ao controle de origem.

  7. Clique duas vezes esse novo arquivo. O arquivo será aberto no Editor de fluxo de trabalho de Visual Studio.

Em seguida, você personalizará a cópia que você acabou de criar do modelo de fluxo de trabalho padrão.

Personalização para especificar o local de binários de teste diferente do local de destino de compilação

O modelo de fluxo de trabalho padrão, LabDefaultTemplate, assume que o local dos binários do teste é o mesmo que o local onde as compilações são descartadas. No entanto, na sua situação, o código de teste pode não obter criado junto com o código do produto. Se isso ocorrer, você talvez queira personalizar o modelo para que os binários de teste são captados de um local diferente. Essa personalização envolve três etapas, conforme mostrado na ilustração a seguir.

Arrastando um LabManagement <>>de atividade na caixa de ferramentas

A definição de um fluxo de trabalho no argumento para especificar o caminho de binários de teste

Para definir um argumento no

  1. Na parte inferior da janela do editor de fluxo de trabalho, clique na argumentos guia.

  2. Clique em criar o argumento. Na caixa de texto, digite o nome do argumento, por exemplo, TestBinariesLocation. No direção na lista suspensa, clique em em. No o tipo de argumento na lista suspensa, clique em seqüência de caracteres.

Passando o valor de um argumento para a atividade de ExecuteRemoteTestRun

Esta atividade cria um teste remoto executado, aguarda até que a execução de teste for concluído e atualiza as informações de compilação com estatísticas de execução de teste.

Para passar o valor do argumento

  1. No editor de fluxo de trabalho, vá para a atividade Executando testes. Embora o nome de exibição da atividade de testes em execução, a atividade de tipo é ExecuteRemoteTestRun.

  2. A atividade com o botão direito e clique em Propriedades. O Propriedades janela abre-se no canto inferior direito e exibe no-out-argumentos e dessa atividade. Um no-argumento desta atividade é TestDirectory, que define o caminho do local de binários de teste.

  3. No Propriedades janela, clique em TestDirectory. No final da linha, clique nas reticências (…).

  4. No O Editor de expressão, digite TestBinariesLocation e clique em OK.

  5. Sobre o arquivo menu, clique em Salvar LabDefaultTemplate_customize.xaml

  6. Na barra de menu do Gerenciador de controle de código-fonte, clique na Check-in ícone.

Agora você pode usar o arquivo personalizado. XAML para criar novas definições de compilação. O novo no argumento TestBinariesLocation aparecerá na diverso seção a processo guia em sua definição de compilação e você pode atribuir um valor de lá.

Personalização para suportar os instaladores de aplicativos que exigem uma reinicialização do computador após a implantação

O modelo de fluxo de trabalho padrão, LabDefaultTemplate, não reinicie o ambiente virtual depois de implantar o aplicativo. Talvez você queira personalizar o modelo para oferecer suporte a aplicativos que podem exigir uma reinicialização após elas serem implantadas. Se você implantou o aplicativo manualmente em um ambiente virtual, você será reiniciado somente a máquina virtual onde o aplicativo foi instalado. Visual StudioLab Management não oferece suporte a operações em máquinas virtuais individuais em um ambiente. Conseqüentemente, reiniciar um computador requer que todos os computadores no ambiente virtual seja reiniciado.

Aviso

Certifique-se de que seus scripts de implantação nunca reinicie a máquina virtual. Se isso ocorrer, o agente de compilação, execução do script de implantação perderá a conexão com o controlador de compilação e pode interromper o fluxo de trabalho.

Reiniciar as máquinas virtuais após implantar a nova compilação requer a adição de três atividades para o LabDefaultTemplate:

  1. Parar o ambiente.

  2. Iniciar o ambiente

  3. Aguarde até que as máquinas virtuais para iniciar antes de continuar com o restante do fluxo de trabalho.

Parar o ambiente.

Você pode adicionar uma atividade do ambiente de parada para o modelo de fluxo de trabalho padrão, arrastando o StopLabEnvironment atividade a partir de Toolbox para o modelo de fluxo de trabalho e inicializar as variáveis de atividade.

Para interromper o ambiente.

  1. No editor de fluxo de trabalho, vá até uma atividade com o nome de exibição Bem-sucedida de implantação do aplicativo.

  2. No menu Exibir, clique em Caixa de Ferramentas. A caixa de ferramentas é aberto no lado esquerdo e exibe uma lista da Atividades de compilação do Team Foundation. Percorra a lista de atividades até ver a lista de As atividades do Team Foundation Lab Management.

  3. Na caixa de ferramentas, clique na StopLabEnvironment atividade. Arraste-o para o Editor de fluxo de trabalho e posicioná-lo antes de Bem-sucedida de implantação do aplicativo atividade.

  4. A atividade com o botão direito e clique em Propriedades. A janela Propriedades exibe no - e out-argumentos para esta atividade. Observe que o fluxo de trabalho já tem uma variável chamada LabEnvironmentUri que se refere ao ambiente de URI.

  5. Clique o variáveis guia. A lista de variáveis é exibida.

  6. No LabEnvironmentUri linha e, no padrão coluna, clique duas vezes em Enter uma expressão de VB. Na caixa de texto, digite LabEnvironmentUri. O editor exibirá quaisquer usos existentes do parâmetro e você pode selecionar o valor da lista em vez de digitá-la no.

Iniciar o ambiente

Você pode adicionar uma atividade de ambiente inicial para o modelo de fluxo de trabalho padrão, arrastando o StartLabEnvironment atividade a partir de Toolbox para o modelo de fluxo de trabalho e inicializar as variáveis de atividade.

Para iniciar o ambiente.

  1. Na caixa de ferramentas, clique na StartLabEnvironment atividade. Arraste-o para o Editor de fluxo de trabalho e posicioná-lo antes do Bem-sucedida de implantação do aplicativo atividade, mas depois o StopLabEnvironment atividade.

  2. A atividade com o botão direito e clique em Propriedades. A janela Propriedades exibe no - e out-argumentos para esta atividade. Novamente, observe o fluxo de trabalho já tem uma variável chamada LabEnvironmentUri, que se refere ao ambiente de URI.

    Clique o variáveis guia. A lista de variável é exibida.

    No LabEnvironmentUri linha e, no padrão coluna, clique duas vezes em Enter uma expressão de VB. Na caixa de texto, digite LabEnvironmentUri. O editor exibirá quaisquer usos existentes do parâmetro e você pode selecionar o valor da lista em vez de digitá-la no.

Aguarde até que as máquinas de reinicialização antes de continuar com o restante do fluxo de trabalho.

Você pode adicionar o tempo de espera para as máquinas virtuais Iniciar, arrastando o atraso atividade a partir de Toolbox para o modelo de fluxo de trabalho e inicializar as variáveis de atividade. Essa atividade está localizada na primitivos guia da caixa de ferramentas.

Para aguardar as máquinas virtuais iniciar

  1. Na caixa de ferramentas, clique na primitivos guia.

  2. Clique o atraso atividade. Arraste-o para o Editor de fluxo de trabalho e posicioná-lo antes do Bem-sucedida de implantação do aplicativo atividade, mas depois o StartLabEnvironment atividade.

  3. A atividade com o botão direito e clique em Propriedades. A janela Propriedades exibe no - e out-argumentos para esta atividade. Observe que o fluxo de trabalho já tem uma variável chamada duração, que se refere ao tempo de espera.

  4. No Propriedades janela, clique em duração e, em seguida, clique em reticências (…).

  5. No O Editor de expressão, digite o tempo de espera (por exemplo, 10 minutos) no formato TimeSpan.FromMinutes(10).

Depois que você modificou este modelo de check-in para controle de origem e usá-lo para criar uma nova definição de compilação para implantar aplicativos que exigem reinicia após a instalação.

Personalização para ler os arquivos de controle de origem

Se você cria atividades personalizadas e usá-las no modelo de fluxo de trabalho, certifique-se de que o agente de compilação se comunica usando a conta de serviço do laboratório, pode acessar essas atividades. Como essas atividades têm que fazer check-in para o sistema de controle de origem como assemblies personalizados, você deve Certifique-se de que essa conta de serviço do laboratório tem permissão para ler o caminho no qual os assemblies personalizados são verificados em. Para obter mais informações sobre a conta de serviço do laboratório, consulte Como: Configurar a conta de serviço para os testes e integração de fluxo de trabalho você pode conceder permissões para o serviço de laboratório conta usando o tf permissões comando. Por exemplo, para conceder permissões de leitura para o mydomain\labAccount de conta de serviço de laboratório sobre o caminho MyProject / $/ CustomAssemblies, você deve executar um comando semelhante a: C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE>tf permission /user:mydomain\labAccount /collection:http://aseemb-tfs10:8080/tfs/Collection0 /allow:read $/MyProject/CustomAssemblies

Soltar de personalização para acessar uma compilação local usando a conta de agente de compilação

O agente de compilação que executa o fluxo de trabalho do laboratório acessa o local de destino de compilação usando a conta de serviço do laboratório. Se desejar que o agente de compilação para usar a conta de agente de compilação em vez disso, você pode personalizar o modelo de fluxo de trabalho. No modelo, encontrar a atividade RunDeploymentScript que executa os scripts de implantação. Esta atividade expõe a propriedade SharedLocationForNetUse, que define o local em que deve ser acessado usando a conta de serviço do laboratório. <mtlwa:RunDeploymentScript DisplayName="Running Deployment Script" ScriptDetails="[scriptDetails]" ThrowOnError="True" SharedLocationForNetUse="[BuildLocation]" />Para acessar o local de destino, sob a conta de agente de compilação em vez da conta de serviço do laboratório, excluir a propriedade do modelo ou definir o valor dessa propriedade como nulo ({x: nulo}), como mostrado neste exemplo: mtlwa:RunDeploymentScript DisplayName="Running Deployment Script" ScriptDetails="[scriptDetails]" ThrowOnError="True" SharedLocationForNetUse="{x:Null}" />

Personalização para acessar outros locais usando a conta de serviço do laboratório

Se o agente de compilação em execução sob a conta de serviço do laboratório precisa ler locais sejam o local de destino de compilação, você pode alterar o valor da propriedade SharedLocationForNetUse do valor padrão [BuildLocation] para o local desejado. Por exemplo, para o agente de compilação em execução sob a conta do serviço de laboratório acessar o diretório de \\contoso\scripts, você deve ter: <mtlwa:RunDeploymentScript DisplayName="Running Deployment Script" ScriptDetails="[scriptDetails]" ThrowOnError="True" SharedLocationForNetUse="\\contoso\scripts" />

Consulte também

Tarefas

Criar uma definição de compilação básico

Referência

Introdução de um desenvolvedor para o Windows Workflow Foundation (WF) no.NET 4

Conceitos

Usando um laboratório Virtual para o seu ciclo de vida do aplicativo

Outros recursos

Atividades de LabManagement do Team Foundation

Criar e trabalhar com definições de compilação

Histórico de alterações

Date

History

Motivo

Outubro de 2010

Adicionado duas ilustrações resumindo diversas etapas ao personalizar o fluxo de trabalho.

Aprimoramento de informações.