Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo fornece informações sobre como os DevTest Labs podem ser usados nos pipelines de build e release do Azure Pipelines.
Fluxo global
O fluxo básico é ter um pipeline de build que execute as seguintes tarefas:
- Constrói o código da aplicação.
- Crie o ambiente base no DevTest Labs.
- Atualize o ambiente com informações personalizadas.
- Implementar a aplicação no ambiente DevTest Labs
- Testa o código.
Uma vez concluída com sucesso a compilação, o pipeline de lançamento utilizará os artefactos de compilação para implementar em pré-produção ou em produção.
Uma das premissas necessárias é que toda a informação necessária para recriar o ecossistema testado está disponível nos artefactos de compilação, incluindo a configuração dos recursos do Azure. Como os recursos do Azure têm custos quando utilizados, as empresas querem controlar ou monitorizar a utilização desses recursos. Em algumas situações, os templates do Azure Resource Manager usados para criar e configurar os recursos podem ser geridos por outro departamento, como o departamento de TI. E esses modelos podem estar armazenados num repositório diferente. Isto leva a uma situação interessante ao criar e testar uma build. Tanto o código como a configuração devem ser armazenados nos artefactos de compilação para recriar o sistema em produção.
Usando o DevTest Labs durante a fase de compilação e teste, pode adicionar templates do Azure Resource Manager e ficheiros de suporte às fontes de compilação. Durante a fase de lançamento, implementas exatamente a configuração que usaste nos testes para produção. A tarefa Create Azure DevTest Labs Environment com a configuração correta guarda os templates do Resource Manager dentro dos artefactos de compilação. Para este exemplo, usa o código do Tutorial: Constrói uma aplicação web .NET Core e SQL Database no Serviço de Aplicações do Azure, para implementar e testar a aplicação web no Azure.
Configurar recursos do Azure
Deve criar alguns itens antecipadamente:
- Dois repositórios. A primeira com o código do tutorial e um template do Resource Manager com mais duas VMs. O segundo irá conter o modelo base do Azure Resource Manager (configuração existente).
- Um Grupo de Recursos para a implementação do código de produção e configuração.
- Um laboratório com ligação ao repositório de configuração do pipeline de compilação. Verifique o modelo de 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 template.
O pipeline de build cria um ambiente DevTest Labs e implementa o código para testes.
Configurar um pipeline de compilação
No Azure Pipelines, crie um pipeline de compilação usando o código do Tutorial: Construa um .NET Core e uma aplicação web SQL Database no Serviço de Aplicações do Azure. Use o modelo ASP.NET Core, que irá preencher a tarefa necessária para construir, testar e publicar o código.
Adicione mais três tarefas para criar o ambiente no DevTest Labs e implemente no ambiente.
Tarefa de criar ambiente
Na tarefa Azure DevTest Labs Create Environment, utilize as listas suspensas 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 suspensas na página em vez de introduzir a informação manualmente. Se introduzires manualmente a informação, insere os IDs de Recursos do Azure totalmente qualificados. A tarefa mostra os nomes amigos em vez dos IDs dos recursos.
O nome do ambiente é o nome apresentado nos DevTest Labs. Deveria ser um nome único para cada build. Por exemplo: TestEnv$(Build.BuildId).
Pode especificar um ficheiro de parâmetros ou parâmetros para passar informação no modelo do Resource Manager.
Selecione a opção Criar variáveis de saída com base na opção de saída do modelo de ambiente e introduza um nome de referência. Para este exemplo, introduza BaseEnv como nome de referência. Usa este BaseEnv ao configurar a próxima tarefa.
Tarefa de povoar ambiente
A segunda tarefa (tarefa Azure DevTest Labs Populate Environment) é atualizar o ambiente DevTest Labs existente. A tarefa Criar ambiente gera o BaseEnv.environmentResourceId que é usado para configurar o nome do ambiente para esta tarefa. O modelo Resource Manager deste exemplo tem dois parâmetros - adminUserName e adminPassword.
Tarefa de implementação do App Service
A terceira tarefa é a tarefa Serviço de Aplicações do Azure Deploy. O tipo de aplicação está definido como Web App e o nome do App Service é definido como $(WebSite).
Configurar pipeline de lançamento
Cria-se um pipeline de lançamento com duas tarefas: Azure Deployment: Criar ou Atualizar Grupo de Recursos e Deploy 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 associado. Se o modelo do Resource Manager incluir modelos vinculados, tem de executar uma implementação personalizada de um grupo de recursos. O modelo está no artefacto de entrega publicado. Substitua os parâmetros do modelo no modelo do Resource Manager. Podes deixar as definições restantes com valores predefinidos.
Para a segunda tarefa, implementar o Serviço de Aplicações do Azure, especificar a subscrição do Azure, selecionar Web App para o tipo de App e $(WebSite) para o nome do App Service. Podes deixar as definições restantes com valores predefinidos.
Execução do teste
Agora que ambos os pipelines estão configurados, inicie manualmente uma compilação e veja-a em funcionamento. O passo seguinte é definir o trigger apropriado para a build e ligar a build ao pipeline de release.
Passos seguintes
Consulte os seguintes artigos: