Implementação contínua para aplicações em contentores com o Azure DevOps
Neste guia passo a passo, irá aprender a criar um pipeline que cria e implementa continuamente as suas aplicações em contentores para operações do Dia 2 com o Azure DevOps. Sempre que alterar o código num repositório que contenha um Dockerfile, as imagens são enviadas para o seu Azure Container Registry e os manifestos são implementados para Azure Kubernetes Service ou Serviço de Aplicações do Azure.
O Azure DevOps permite-lhe alojar, criar, planear e testar o seu código com fluxos de trabalho gratuitos. A utilização dos Pipelines do Azure como um destes fluxos de trabalho permite-lhe implementar a sua aplicação com CI/CD que funcione com qualquer plataforma e cloud. Um pipeline é definido como um ficheiro YAML no diretório de raiz do seu repositório.
Pré-requisitos
Antes de começar este tutorial, tem de:
- Em contentorize e implemente a sua aplicação Web ASP.NET ou Java com a Contentorização de Aplicações do Azure Migrate.
- Uma conta do GitHub, onde pode criar um repositório. Caso não tenha uma, pode criá-la gratuitamente.
- Uma organização do Azure DevOps. Caso não tenha uma, pode criá-la gratuitamente. (Uma organização do Azure DevOps é diferente da sua organização do GitHub. Pode dar à sua organização do DevOps e à sua organização do GitHub o mesmo nome se quiser um alinhamento entre eles.)
Se a sua equipa já tiver uma, certifique-se de que é um administrador do projeto do Azure DevOps que pretende utilizar. - Uma capacidade para executar pipelines em agentes alojados na Microsoft. Pode comprar uma tarefa paralela ou pedir um escalão gratuito. Para pedir um escalão gratuito, siga as instruções neste artigo. Tenha em atenção que poderá demorar 2 a 3 dias úteis para conceder o escalão gratuito.
Localizar os artefactos
A ferramenta Contentorização de Aplicações do Azure Migrate gera automaticamente artefactos que podem ser utilizados para configurar um fluxo de trabalho CI/CD para a sua aplicação com o Azure Pipelines. Os artefactos são gerados assim que a implementação da aplicação for concluída através da ferramenta. Pode encontrar os artefactos da seguinte forma -
- Aceda ao computador que está a executar a ferramenta contentorização de aplicações do Azure Migrate.
- Navegue para C:\ProgramData\Diretório de Contentorização de Aplicações do Microsoft Azure Migrate . Se não conseguir navegar para C:\ProgramData, certifique-se de que seleciona a opção para mostrar Itens ocultos em Ver no explorador de ficheiros.
- Selecione o diretório correspondente ao IP/FQDN do computador de origem. O computador de origem é o computador especificado na ferramenta Contentorização de Aplicações que executa a aplicação que foi em contentorizada.
- Para aplicações Java
- Navegue para JavaTomcatWebApp\Artifacts.
- Navegue para o diretório Catalina\localhost. Se não encontrar este diretório, experimente navegar para o diretório correspondente ao nome do motor tomcat e ao nome do anfitrião.
- Localize a pasta da aplicação neste diretório.
- Para aplicações ASP.NET
- Navegue para IISAspNetWebApp.
- Localize a pasta da aplicação neste diretório.
Carregar artefactos para o GitHub
Terá de carregar os artefactos para um repositório de origem que será utilizado com o Azure DevOps.
- Inicie sessão na sua conta do GitHub.
- Siga os passos neste artigo para criar um novo repositório.
- O próximo passo é carregar os seguintes artefactos para este repositório.
- Para aplicações Java, selecione as seguintes pastas e ficheiros na pasta da aplicação no computador que executa a ferramenta Contentorização de Aplicações.
- Pasta MandatoryArtifacts
- pasta manifestos
- Pasta OptionalArtifacts
- Dockerfile
- Entryscript.sh ficheiro
- ficheiro azure-pipelines.yml
- Para ASP.NET aplicações, selecione as seguintes pastas e ficheiros na pasta da aplicação no computador que executa a ferramenta Contentorização de Aplicações.
- pasta manifestos
- Criar pasta
- ficheiro azure-pipelines.yml
- Para aplicações Java, selecione as seguintes pastas e ficheiros na pasta da aplicação no computador que executa a ferramenta Contentorização de Aplicações.
Iniciar sessão nos Pipelines do Azure
Inicie sessão nos Pipelines do Azure. Depois de iniciar sessão, o browser acede e https://dev.azure.com/my-organization-name apresenta o dashboard do Azure DevOps.
Na sua organização selecionada, crie um projeto. Se não tiver projetos na sua organização, verá um ecrã Criar um projeto para começar . Caso contrário, selecione o botão Criar Projeto no canto superior direito do dashboard.
Adicionar ligações de serviço
Antes de criar o pipeline, deve criar primeiro as suas ligações de serviço, uma vez que lhe será pedido para escolher e verificar as suas ligações no modelo. Uma ligação de serviço permitir-lhe-á ligar ao seu Azure Container Registry ao utilizar os modelos de tarefas e à subscrição do Azure onde pretende implementar a aplicação.
- No canto inferior esquerdo, selecione Definições > do projeto Ligações de serviço.
- Selecione nova ligação de serviço, selecione a opção Azure Container Registry do Registo > do Docker para o tipo de ligação de serviço de que precisa e selecione Seguinte.
- Escolha um método de autenticação e selecione Seguinte.
- Introduza os parâmetros da ligação de serviço. A lista de parâmetros difere para cada tipo de ligação de serviço. Para obter mais informações, veja a lista de tipos de ligação de serviço e parâmetros associados.
- Selecione Guardar para criar a ligação.
- Valide a ligação, assim que for criada e os parâmetros forem introduzidos. A ligação de validação utiliza uma chamada REST para o serviço externo com as informações que introduziu e indica se a chamada foi efetuada com êxito.
- Repita os mesmos passos para criar uma ligação de serviço à subscrição do Azure ao selecionar a nova ligação > de serviço do Azure Resource Manager.
- Repare no ID do recurso para ambas as ligações de serviço.
Criar o pipeline
Agora que criou ambas as ligações de serviço, pode configurar o pipeline. O YAML do pipeline foi criado automaticamente pela ferramenta Contentorização de Aplicações e pode ser configurado da seguinte forma :
- Aceda a Pipelines e, em seguida, selecione Novo Pipeline.
- Veja os passos do assistente ao selecionar primeiro o GitHub como a localização do código fonte.
- Poderá ser redirecionado para o GitHub para iniciar sessão. Em caso afirmativo, introduza as suas credenciais do GitHub.
- Quando for apresentada a lista de repositórios, selecione o seu repositório.
- Poderá ser redirecionado para o GitHub para instalar a aplicação Azure Pipelines. Em caso afirmativo, selecione Aprovar & instalação.
- Quando o seu novo pipeline for apresentado, reveja o YAML para ver o que faz.
- No YAML, forneça o ID de recurso para a ligação de serviço Azure Container Registry como o valor da variável dockerRegistryServiceConnection.
- Forneça o ID de recurso para a ligação de serviço do Azure Resource Manager como o valor da variável dockerRegistryServiceConnection.
- Quando estiver pronto, guarde para consolidar o novo pipeline no seu repositório.
O pipeline está configurado para compilar e implementar as suas operações em contentores para o Dia 2. Pode personalizar o pipeline para satisfazer as suas necessidades organizacionais.