Partilhar via


Utilizar o DevTest Labs nos pipelines de compilação e versão dos Pipelines do Azure

Este artigo fornece informações sobre como o DevTest Labs pode ser utilizado nos pipelines de compilação e versão do Azure Pipelines.

Fluxo geral

O fluxo básico é ter um pipeline de compilação que efetue as seguintes tarefas:

  1. Crie o código da aplicação.
  2. Crie o ambiente base no DevTest Labs.
  3. Atualize o ambiente com informações personalizadas.
  4. Implementar a aplicação no ambiente do DevTest Labs
  5. Teste o código.

Assim que a compilação for concluída com êxito, o pipeline de versão utilizará os artefactos de compilação para implementar o teste ou a produção.

Uma das instalações necessárias é que todas as informações necessárias para recriar o ecossistema testado estão disponíveis nos artefactos de compilação, incluindo a configuração dos recursos do Azure. Como os recursos do Azure incorrem num custo quando utilizados, as empresas querem controlar ou controlar a utilização destes recursos. Em algumas situações, o Azure Resource Manager modelos que são utilizados para criar e configurar os recursos podem ser geridos por outro departamento, como as TI. Além disso, estes modelos podem ser armazenados num repositório diferente. Leva a uma situação interessante ao criar e testar uma compilação. O código e a configuração têm de ser armazenados nos artefactos de compilação para recriar o sistema em produção.

Ao utilizar o DevTest Labs durante a fase de compilação e teste, pode adicionar modelos de Resource Manager do Azure e ficheiros de suporte às origens de compilação. Durante a fase de lançamento, implementa a configuração exata que utilizou no teste para produção. A tarefa Criar Azure DevTest Labs Ambiente com a configuração adequada guarda os modelos de Resource Manager nos artefactos de compilação. Neste exemplo, vai utilizar o código do Tutorial: Criar uma aplicação Web .NET Core e Base de Dados SQL no Serviço de Aplicações do Azure, para implementar e testar a aplicação Web no Azure.

Diagrama que mostra o fluxo geral.

Configurar recursos do Azure

Tem de criar alguns itens previamente:

  • Dois repositórios. O primeiro com o código do tutorial e um modelo de Resource Manager com mais duas VMs. A segunda contém o modelo base do Azure Resource Manager (configuração existente).
  • Um Grupo de Recursos para implementação do código de produção e da configuração.
  • Um laboratório com uma ligação ao repositório de configuração do pipeline de compilação. Verifique o modelo Resource Manager no repositório de configuração como azuredeploy.json com o metadata.json. Este nome permite que o DevTest Labs reconheça e implemente o modelo.

O pipeline de compilação cria um ambiente de DevTest Labs e implementa o código para teste.

Configurar um pipeline de compilação

No Azure Pipelines, crie um pipeline de compilação com o código do Tutorial: Criar uma aplicação Web .NET Core e Base de Dados SQL no Serviço de Aplicações do Azure. Utilize o modelo ASP.NET Core, que preencherá a tarefa necessária para criar, testar e publicar o código.

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

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

Captura de ecrã a mostrar um pipeline com três tarefas.

Criar tarefa de ambiente

Na tarefa Criar Ambiente Azure DevTest Labs, utilize as listas pendentes para selecionar os seguintes valores:

  • Subscrição do Azure
  • Nome do laboratório
  • Nome do repositório
  • Nome do modelo (que mostra a pasta onde o ambiente está armazenado).

Recomendamos que utilize listas pendentes na página em vez de introduzir as informações manualmente. Se introduzir manualmente as informações, introduza IDs de Recursos do Azure completamente qualificados. A tarefa apresenta os nomes amigáveis em vez de IDs de recursos.

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

Pode especificar um ficheiro de parâmetros ou parâmetros para transmitir informações para o modelo de Resource Manager.

Selecione a opção Criar variáveis de saída com base na saída do modelo de ambiente e introduza um nome de referência. Para este exemplo, introduza BaseEnv para o nome de referência. Utilize este BaseEnv ao configurar a tarefa seguinte.

Captura de ecrã a mostrar a tarefa Criar Azure DevTest Labs Ambiente.

Preencher tarefa de ambiente

A segunda tarefa (Azure DevTest Labs tarefa Preencher Ambiente) é atualizar o ambiente de DevTest Labs existente. A tarefa Criar ambiente produz BaseEnv.environmentResourceId que é utilizado para configurar o nome do ambiente para esta tarefa. O modelo Resource Manager para este exemplo tem dois parâmetros: adminUserName e adminPassword.

Captura de ecrã que mostra a tarefa Preencher Azure DevTest Labs Ambiente.

Serviço de Aplicações implementar tarefa

A terceira tarefa é a tarefa implementar Serviço de Aplicações do Azure. O tipo de aplicação está definido como Aplicação Web e o Serviço de Aplicações nome está definido como $(WebSite).

Captura de ecrã a mostrar a tarefa implementar Serviço de Aplicações.

Configurar o pipeline de versão

Pode criar um pipeline de versão com duas tarefas: Implementação do Azure: Criar ou Atualizar Grupo de Recursos e Implementar Serviço de Aplicações do Azure.

Para a primeira tarefa, especifique o nome e a localização do grupo de recursos. A localização do modelo é um artefacto ligado. Se o modelo de Resource Manager incluir modelos ligados, tem de implementar uma implementação de grupo de recursos personalizada. O modelo está no artefacto de remoção publicado. Substituir parâmetros de modelo para o modelo de Resource Manager. Pode deixar as restantes definições com valores predefinidos.

Para a segunda tarefa Implementar Serviço de Aplicações do Azure, especifique a subscrição do Azure, selecione Aplicação Web para o Tipo de aplicação e $(WebSite) para o nome Serviço de Aplicações. Pode deixar as restantes definições com valores predefinidos.

Teste de execução

Agora que ambos os pipelines estão configurados, coloque manualmente uma compilação em fila e veja-a funcionar. O próximo passo é definir o acionador adequado para a compilação e ligar a compilação ao pipeline de versão.

Passos seguintes

Consulte os seguintes artigos: