Compartilhar via


Personalizando o fluxo de trabalho de gerenciamento de laboratório

 

Publicado: abril de 2016

Você pode usar o modelo de opção de laboratório (LabDefaultTemplate) com ambientes de laboratório para automatizar a compilação em seu aplicativo, implantar a nova compilação para um ambiente de laboratório, e executar testes na nova compilação. Para obter informações sobre como usar o modelo padrão do laboratório, consulte Criar um fluxo de trabalho compilar-implantar-testar para um ambiente SCVMM e Criar um fluxo de trabalho compilar-implantar-testar para um ambiente padrão. No entanto, cada compilação, implantação e processo de teste deve ser ligeiramente diferente por causa de requisitos diferentes. Por exemplo, um fluxo de trabalho pode exigir a cópia dos binários de teste do local de compilação regular, enquanto outro fluxo de trabalho exige a cópia dos binários de teste de um local temporário. Ou um fluxo de trabalho pode exigir que um ambiente de laboratório seja salvo em uma biblioteca SCVMM para que os testadores possam implantá-lo, enquanto outro fluxo de trabalho não salva mesmo o ambiente de laboratório. Como o modelo padrão do laboratório é baseado no Windows Workflow 4.0, ele é totalmente extensível e personalizável, de forma que você possa personalizar LabDefaultTemplate para atender aos requisitos específicos. Este tópico descreve as etapas gerais para personalizar o modelo padrão de laboratório.

Requisitos

  • O Visual Studio Enterprise, Visual Studio Test Professional

Eis alguns cenários onde a personalização do modelo padrão do laboratório é útil:

  • Personalização para especificar o local dos binários de teste diferente do local de descarte de compilação

  • Personalização para dar suporte a instaladores de aplicativo que exigem uma reinicialização do computador após a implantação

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

  • Personalização para acessar um local de descarte de compilação usando a conta do agente de compilação

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

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

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

  • Modelo O modelo define a sequência de atividades ou as etapas que fazem parte do fluxo de trabalho. O modelo é baseado no Windows Workflow Foundation 4.0 e é armazenado como um arquivo .xaml no Controle do Código-Fonte. 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 sequências que determinam o fluxo de trabalho. Você pode usar variáveis com diferentes escopos, lógicas condicionais, loops etc. para programar o modelo, exatamente como você faria com qualquer outra linguagem de programação. O Windows Workflow Foundation permite que você personalize o modelo de opçã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 de laboratório usa muitas atividades. Você pode localizar atividades adicionais na Caixa de Ferramentas sob o título Atividades do Team Foundation Lab Management. Para usar uma atividade no fluxo de trabalho, arraste-a da caixa de ferramentas no Editor de Fluxo de Trabalho Visual Studio para o local apropriado no modelo. Você pode determinar a entrada e os parâmetros de saída, analisando as propriedades de atividade. Para obter mais informações sobre cada atividade do Lab Management, consulte Atividades de fluxo de trabalho de gerenciamento de laboratório. Se as atividades que estiverem incluídos no produto forem insuficientes para atender às suas necessidades, você pode adicionar novos 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. Escolha a guia Argumentos na parte inferior da janela Editor de Fluxo de Trabalho para ver os argumentos existentes. Se você criar novos argumentos, eles aparecerão na seção Parâmetros do Processo de Compilação da guia Processo na definição de compilação.

Pense sobre esses conceitos conforme você revisa os dois exemplos a seguir em que a personalização é necessária. O primeiro exemplo fala sobre como alterar o argumento de entrada de uma atividade existente no modelo, e o segundo exemplo fala sobre como adicionar novas atividades a partir da caixa de ferramentas. Esses exemplos devem fornecer contexto suficiente para personalizar o modelo padrão de laboratório, de acordo com suas necessidades.

Antes de iniciar a personalização

Há algumas etapas gerais que você deve concluir antes de começar a personalizar o modelo padrão de laboratório. O diagrama a seguir ilustra essas etapas.

Local da pasta de modelos de fluxo de trabalho padrão

Para preparar para personalização

  1. No Team Explorer, clique duas vezes no nó Controle de Código-fonte para seu projeto de equipe.

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

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

  4. Clique com o botão direito do mouse no arquivo LabDefaultTemplate.11.xaml e escolha Obter Última Versão.

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

  6. Adicione este novo arquivo ao controle do código-fonte.

  7. Clique duas vezes neste novo arquivo. O arquivo será aberto no Editor de Fluxo de Trabalho do Visual Studio.

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

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

O modelo padrão de fluxo de trabalho, LabDefaultTemplate, pressupõe que o local dos binários de teste é o mesmo que o local onde as compilações são descartadas. No entanto, em sua situação, o código de teste pode não ser compilado com o código do produto. Se isso ocorrer, convém personalizar o modelo para que os binários de teste sejam obtidos de um local diferente. Esta personalização envolve três etapas, conforme mostrado na ilustração a seguir.

Arrastando uma atividade LabManagement da caixa de ferramentas

Definindo um argumento em fluxo de trabalho para especificar o caminho de binários de teste

Para definir um argumento

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

  2. Escolha Criar Argumento. Na caixa de texto, digite o nome do argumento, por exemplo, TestBinariesLocation. Na lista suspensa Direção, escolha Em. Na lista suspensa Tipo de argumento, escolha Cadeia de Caracteres.

Passando um valor de argumento para atividade de ExecuteRemoteTestRun

Esta atividade cria uma execução de teste remoto, aguarda até a execução do teste ser concluída e atualizar 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, role até a atividade Executando Testes. Embora o nome para exibição da atividade seja "Executando testes", o tipo da atividade é ExecuteRemoteTestRun.

  2. Clique com o botão direito do mouse na atividade e escolha Propriedades. A janela Propriedades é aberta no canto inferior direito e exibe os argumentos de entrada e saída dessa atividade. Um dos argumentos em- desta atividade é TestDirectory, que define o caminho do local dos binários de teste.

  3. Na janela de Propriedades, clique em Testar Diretório. No final da linha, clique nas reticências (…).

  4. No Editor de Expressões, digite TestBinariesLocation e escolha OK.

  5. No menu Arquivo, escolha Salvar LabDefaultTemplate_customize.11.xaml

  6. Na barra de menus do Gerenciador de controle do código-fonte, escolha o Check-in ícone.

Agora você pode usar o arquivo .xaml personalizado para criar novas definições de compilação. O novo argumento TestBinariesLocation aparecerá na seção de Diversos da guia Processo na definição da compilação, e você poderá atribuir um valor nessa seção.

Personalização para dar suporte a instaladores de aplicativo que exigem uma reinicialização do computador após a implantação

O modelo padrão do Laboratório não reinicia o ambiente de laboratório depois que você implanta o aplicativo. Convém personalizar o modelo para dar suporte a aplicativos que possam exigir uma reinicialização depois que são implantados. Se implantasse o aplicativo manualmente em um ambiente de laboratório, você reiniciaria somente o computador onde o aplicativo foi instalado. Visual Studio Lab Management não dá suporte a operações em máquinas virtuais em um ambiente. Consequentemente, para reiniciar uma máquina é necessário que todas as máquinas do ambiente de laboratório sejam reiniciadas.

Aviso

Certifique-se de que os scripts de implantação nunca reiniciem o computador.Se isso ocorrer, o agente de compilação que estiver executando o script de implantação perderá conexão com o controlador de compilação e o fluxo de trabalho poderá parar.

Reiniciar as máquinas virtuais depois que você implanta a nova compilação requer adicionar três atividades a LabDefaultTemplate:

  1. Interromper o ambiente

  2. Iniciar o ambiente

  3. Espera para que as máquinas virtuais iniciem antes de continuar com o restante do fluxo de trabalho.

Interromper o ambiente

Você pode adicionar uma atividade de parada do ambiente ao modelo de opção de fluxo de trabalho arrastando a atividade de StopLabEnvironment da Caixa de Ferramentas ao modelo de fluxo de trabalho e inicializar variáveis de atividade.

Para parar o ambiente

  1. No editor de fluxo de trabalho, role para uma atividade com o nome para exibição Implantação do Aplicativo Bem-Sucedida.

  2. No menu Exibição, selecione Caixa de Ferramentas. A caixa de ferramentas abre no lado esquerdo e exibe uma lista das Atividades do Team Foundation Build. Role pela lista de atividades até ver a lista de Atividades do Team Foundation Lab Management.

  3. Na caixa de ferramentas, escolha a atividade StopLabEnvironment. Arraste-o para o Editor de Fluxo de Trabalho e o posicione antes da atividade Implantação do aplicativo bem-sucedida.

  4. Clique com o botão direito do mouse na atividade e, em seguida, clique em Propriedades. A janela de propriedades exibe os argumentos de entrada e de saída dessa atividade. Observe que o fluxo de trabalho já tem uma variável chamada LabEnvironmentUri, que faz referência ao URI de ambiente.

  5. Escolha a guia Variáveis. A lista de variáveis é exibida.

  6. Na linha LabEnvironmentUri e na coluna Padrão, clique duas vezes em Inserir uma Expressão do VB. Na caixa de texto, digite LabEnvironmentUri. O editor exibirá todos os usos existentes do parâmetro e você poderá selecionar o valor nessa lista, em vez de digitá-los.

Iniciar o ambiente

Você pode adicionar uma atividade do ambiente do início ao modelo de opção de laboratório arrastando a atividade de StartLabEnvironment da Caixa de Ferramentas ao modelo de fluxo de trabalho e inicializar variáveis de atividade.

Para iniciar o ambiente

  1. Na caixa de ferramentas, escolha a atividade StartLabEnvironment. Arraste-o para o Editor de Fluxo de Trabalho e o posicione antes da atividade Implantação do aplicativo bem-sucedida mas após a atividade StopLabEnvironment .

  2. Clique com o botão direito do mouse na atividade e, em seguida, clique em Propriedades. A janela de propriedades exibe os argumentos de entrada e de saída dessa atividade. Além disso, observe que o fluxo de trabalho já tem uma variável chamada LabEnvironmentUri, que faz referência ao URI de ambiente.

    Escolha a guia Variáveis. A lista de variável é exibida.

    Na linha LabEnvironmentUri e na coluna Padrão, clique duas vezes em Inserir uma Expressão do VB. Na caixa de texto, digite LabEnvironmentUri. O editor exibirá todos os usos existentes do parâmetro e você poderá selecionar o valor nessa lista, em vez de digitá-los.

Espera para que os computadores reiniciem antes de continuar com o restante de fluxo de trabalho.

Você pode adicionar tempo de espera para que as máquinas virtuais iniciem, arrastando a atividade de Atraso da Caixa de Ferramentas ao modelo de fluxo de trabalho e inicializando as variáveis de atividade. Esta atividade está localizada na guia Primitivos da Caixa de Ferramentas.

Para esperar as máquinas virtuais iniciarem

  1. Na caixa de ferramentas, escolha o primitivos guia.

  2. Clique na atividade Atraso. Arraste-o para o Editor de Fluxo de Trabalho e o posicione antes da atividade Implantação do aplicativo bem-sucedida mas após a atividade StartLabEnvironment .

  3. Clique com o botão direito do mouse na atividade e, em seguida, clique em Propriedades. A janela de propriedades exibe os argumentos de entrada e de saída dessa atividade. Observe que o fluxo de trabalho já tem uma variável chamada Duração, que faz referência ao tempo de espera.

  4. Na janela Propriedades, escolha a lista Duração e, em seguida, escolha as reticências (...).

  5. No Editor de Expressões, digite o tempo de espera (por exemplo, 10 minutos) no formato TimeSpan.FromMinutes (10).

Após ter modificado esse modelo, o check-in de controle de origem e usá-lo para criar uma nova definição de compilação para implantar aplicativos que exigem reiniciar após a instalação.

Personalização para ler arquivos de controle de origem

Se você criar atividades personalizados e então usá-las em seu modelo de fluxo de trabalho, verifique se o agente de compilação, que se comunica usando a conta de serviço do laboratório, pode acessar essas atividades. Como essas atividades precisam ter seu check-in feito no sistema de controle do código-fonte como assemblies personalizados, você deve certificar-se de que essa conta de serviço de laboratório tenha permissão para ler o caminho no qual o check-in dos assemblies personalizados foi realizado. Para obter mais informações sobre a conta de serviço do laboratório, consulte Como configurar a conta de serviço de laboratório 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 à conta de serviço de laboratório mydomain\labAccount no caminho $/MyProject/CustomAssemblies, você tem que executar um comando semelhante a: C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE>tf permission /user:mydomain\labAccount /collection:http://aseemb-tfs11:8080/tfs/Collection0 /allow:read $/MyProject/CustomAssemblies

Personalização para acessar um local de descarte de compilação usando a conta do agente de compilação

O agente de compilação que executa um fluxo de trabalho acessa o local de recebimento da compilação usando a conta de serviço do laboratório. Se quiser que o agente de compilação use a conta de agente de compilação em seu lugar, você poderá personalizar o modelo padrão do laboratório. No modelo, localize a atividade RunDeploymentScript que executa os scripts de implantação. Esta atividade expõe a propriedade SharedLocationForNetUse, que define o local que deve ser acessado usando a conta de serviço de laboratório. <mtlwa:RunDeploymentScript DisplayName="Running Deployment Script" ScriptDetails="[scriptDetails]" ThrowOnError="True" SharedLocationForNetUse="[BuildLocation]" />Para acessar o local de recebimento na conta do agente de compilação em vez da conta de serviço de laboratório, exclui a propriedade de modelo ou define o valor dessa propriedade como nulo ({x:Zero}) 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 de laboratório

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

Consulte também

Atividades de fluxo de trabalho de gerenciamento de laboratório
Usando um ambiente de laboratório para o ciclo de vida do aplicativo
Definir o processo de compilação
Criar ou editar uma definição de compilação
uma introdução do desenvolvedor ao Windows Workflow Foundation (WF) no .NET 4