Share via


Usar o DevTest Labs no build do Azure Pipelines e em pipelines de lançamento

Este artigo contém informações para usar o DevTest Labs em pipelines de build e lançamento do Azure Pipelines.

Fluxo geral

O fluxo básico é ter um pipeline de build que faz as seguintes tarefas:

  1. Compila o código do aplicativo.
  2. Cria o ambiente base no DevTest Labs.
  3. Atualiza o ambiente com informações personalizadas.
  4. Implanta o aplicativo no ambiente do DevTest Labs
  5. Testa o código.

Quando a compilação termina, o pipeline de lançamento usa os artefatos de compilação para implantar o preparo ou a produção.

É necessário que todas as informações necessárias para recriar o ecossistema testado estejam presentes nos artefatos de compilação, incluindo a configuração dos recursos do Azure. Como o uso dos recursos do Azure é cobrado, as empresas devem controlar ou acompanhar o uso. Em algumas situações, os modelos do Azure Resource Manager usados para criar e configurar os recursos são gerenciados por outro departamento, como a TI. E esses modelos podem ser armazenados em um repositório diferente. Isso leva a uma situação interessante ao criar e testar um build. O código e a configuração devem ser armazenados nos artefatos de compilação para recriar o sistema em produção.

Usando o DevTest Labs durante a fase de compilação e teste, você pode adicionar modelos do Azure Resource Manager e arquivos de suporte às fontes de compilação. Durante a fase de lançamento, você implanta a configuração exata usada no teste para produção. A tarefa Criar ambiente do Azure DevTest Labs com a configuração adequada salva os modelos do Azure Resource Manager nos artefatos de compilação. Neste exemplo, você usará o código do Tutorial: Criar um aplicativo Web .NET Core e Banco de Dados SQL no Serviço de Aplicativo do Azure para implantar e testar o aplicativo Web no Azure.

Diagrama que mostra o fluxo geral.

Configurar recursos do Azure

Você deve criar alguns itens com antecedência:

  • Dois repositórios. O primeiro com o código do tutorial e um modelo do Azure Resource Manager com duas VMs adicionais. O segundo conterá o modelo do Azure Resource Manager de base (configuração atual).
  • Um grupo de recursos para implantação do código de produção e da configuração.
  • Um laboratório com uma conexão com o repositório de configuração para o pipeline de build. Verifique o modelo do Azure Resource Manager para o repositório de configuração como azuredeploy.json com o metadata.json. Esse nome permite que o DevTest Labs reconheça e implante o modelo.

O pipeline de build criará um ambiente do DevTest Labs e implantará o código para teste.

Configurar um pipeline de build

No Azure Pipelines, crie um pipeline de build usando o código de Tutorial: criar um aplicativo Web .NET Core e do Banco de Dados SQL no Serviço de Aplicativo do Azure. Use o modelo ASP.NET Core, que preencherá a tarefa necessária para compilar, testar e publicar o código.

Captura de tela que mostra a seleção do modelo ASP.NET.

Adicione mais três tarefas para criar o ambiente no DevTest Labs e implantar no ambiente.

Captura de tela que mostra um pipeline com três tarefas.

Tarefa criar ambiente

Na tarefa Criar ambiente do Azure DevTest Labs, use as listas suspensas para selecionar os seguintes valores:

  • Assinatura do Azure
  • Nome do laboratório
  • Nome do repositório
  • Nome do modelo (que mostra a pasta em que o ambiente está armazenado).

Recomendamos que você use as listas suspensas na página em vez de inserir as informações manualmente. Se você inserir manualmente as informações, insira as IDs de recursos do Azure totalmente qualificadas. A tarefa exibe os nomes amigáveis em vez de IDs de recurso.

O nome do ambiente é o nome exibido mostrado no DevTest Labs. Deve ser um nome exclusivo para cada compilação. Por exemplo: TestEnv$(Build.BuildId) .

Você pode especificar o arquivo de parâmetros ou parâmetros para passar informações ao modelo do Resource Manager.

Selecione a opção Criar variáveis de saída com base na saída do modelo de ambiente e insira um nome de referência. Para este exemplo, insira BaseEnv para o nome de referência. Você usará esse BaseEnv ao configurar a próxima tarefa.

Captura de tela que mostra a tarefa Criar ambiente do Azure DevTest Labs.

Tarefa preencher ambiente

A segunda tarefa (Azure DevTest Labs preencher ambiente) é para atualizar o ambiente do DevTest Labs. A tarefa Criar ambiente emite BaseEnv.environmentResourceId, que é usado para configurar o ambiente para esta tarefa. O modelo do Resource Manager deste exemplo tem dois parâmetros – adminUserName e adminPassword.

Captura de tela que mostra a tarefa Preencher ambiente do Azure DevTest Labs.

Tarefa de implantação do Serviço de Aplicativo

A terceira tarefa é Implantação do Serviço de Aplicativo do Azure. O tipo de aplicativo é definido como aplicativo Web e o nome do serviço de aplicativo é definido como $(WebSite) .

Captura de tela que mostra a tarefa Implantação do Serviço de Aplicativo.

Configurar pipeline de lançamento

Você cria um pipeline de lançamento com duas tarefas: Implantação do Azure: criar ou atualizar o grupo de recursos e Implantar Serviço de Aplicativo do Azure.

Para a primeira tarefa, especifique o nome e o local do grupo de recursos. O local do modelo é um artefato vinculado. Se o modelo do Resource Manager incluir modelos vinculados, será necessário implementar uma implantação de grupo de recursos personalizada. O modelo está no artefato de soltar publicado. Substitua os parâmetros do modelo do Resource Manager. Você pode deixar as configurações restantes com valores padrão.

Para a segunda tarefa, Implantar Serviço de Aplicativo do Azure, especifique a assinatura do Azure, selecione Aplicativo Web em Tipo de aplicativo e $(WebSite) em Nome do serviço Web. Você pode deixar as configurações restantes com valores padrão.

Execução de teste

Agora que ambos os pipelines estão configurados, enfileire manualmente uma compilação para vê-la funcionar. A próxima etapa é definir o gatilho apropriado para a compilação e conectá-la ao pipeline de lançamento.

Próximas etapas

Veja os artigos a seguir: