Implantação contínua para aplicativos em contêineres com o Azure DevOps

Neste guia passo a passo, você aprenderá a criar um pipeline que cria e implanta continuamente seus aplicativos em contêineres para operações do Dia 2 com o Azure DevOps. Sempre que você altera seu código em um repositório que contém um Dockerfile, as imagens são enviadas por push para o Registro de Contêiner do Azure e os manifestos são implantados no Serviço Kubernetes do Azure ou no Serviço de Aplicativo do Azure.

O Azure DevOps permite que você hospede, crie, planeje e teste seu código com fluxos de trabalho gratuitos. Usar o Azure Pipelines como um desses fluxos de trabalho permite que você implante seu aplicativo com CI/CD que funciona com qualquer plataforma e nuvem. Um pipeline é definido como um arquivo YAML no diretório raiz do repositório.

Pré-requisitos

Antes de começar este tutorial, tem de:

  • Conteinerize e implante seu aplicativo Web ASP.NET ou Java usando o Azure Migrate App Containerization.
  • uma conta GitHub, na qual pode criar um repositório. Se não tiver uma, pode criar uma gratuitamente.
  • Uma organização Azure DevOps. Se não tiver uma, pode criar uma gratuitamente. (Uma organização do Azure DevOps é diferente da sua organização do GitHub. Você pode dar à sua organização de DevOps e à sua organização do GitHub o mesmo nome se quiser alinhamento entre elas.)
    Se sua equipe já tiver um, verifique se você é um administrador do projeto de DevOps do Azure que deseja usar.
  • Capacidade de executar pipelines em agentes hospedados pela Microsoft. Você pode comprar um trabalho paralelo ou solicitar um nível gratuito. Para solicitar um nível gratuito, siga as instruções neste artigo. Por favor, note que pode levar de 2 a 3 dias úteis para conceder o nível gratuito.

Localizar os artefatos

A ferramenta Azure Migrate App Containerization gera automaticamente artefatos que podem ser usados para configurar um fluxo de trabalho de CI/CD para seu aplicativo usando o Azure Pipelines. Os artefatos são gerados assim que a implantação do aplicativo é concluída por meio da ferramenta. Você pode encontrar os artefatos da seguinte forma -

  1. Vá para a máquina que executa a ferramenta Azure Migrate App Containerization.
  2. Navegue até o diretório C:\ProgramData\Microsoft Azure Migrate App Containerization . Se não conseguir navegar até C:\ProgramData, certifique-se de que seleciona a opção para mostrar Itens ocultos em Ver no explorador de ficheiros.
  3. Selecione o diretório correspondente ao IP/FQDN da máquina de origem. A máquina de origem é a máquina especificada na ferramenta de conteinerização de aplicativos que executa o aplicativo que foi conteinerizado.
  4. Para aplicações Java
    • Navegue até JavaTomcatWebApp\Artifacts.
    • Navegue até o diretório Catalina\localhost. Se você não encontrar esse diretório, tente navegar até o diretório correspondente ao nome do mecanismo Tomcat e ao nome do host.
    • Localize a pasta do aplicativo dentro deste diretório.
  5. Para aplicações ASP.NET
    • Navegue até IISAspNetWebApp.
    • Localize a pasta do aplicativo dentro deste diretório.

Carregar artefatos no GitHub

Você precisará carregar os artefatos em um repositório de origem que será usado com o Azure DevOps.

  1. Iniciar sessão na sua conta do GitHub.
  2. Siga as etapas neste artigo para criar um novo repositório.
  3. A próxima etapa é carregar os seguintes artefatos para este repositório.
    • Para aplicativos Java, selecione as seguintes pastas e arquivos na pasta do aplicativo na máquina que executa a ferramenta de conteinerização de aplicativos.
      • Pasta MandatoryArtifacts
      • Pasta Manifestos
      • Pasta OptionalArtifacts
      • Dockerfile
      • Entryscript.sh arquivo
      • arquivo azure-pipelines.yml
    • Para ASP.NET aplicativos, selecione as seguintes pastas e arquivos na pasta do aplicativo na máquina que executa a ferramenta de conteinerização de aplicativos.
      • Pasta Manifestos
      • Pasta de compilação
      • arquivo azure-pipelines.yml

Entrar no Azure Pipelines

Entre no Azure Pipelines. Depois de entrar, seu navegador vai e https://dev.azure.com/my-organization-name exibe seu painel do Azure DevOps.

Dentro da organização selecionada, crie um projeto. Se você não tiver nenhum projeto em sua organização, verá uma tela Criar um projeto para começar . Caso contrário, selecione o botão Criar projeto no canto superior direito do painel.

Adicionar conexões de serviço

Antes de criar seu pipeline, você deve primeiro criar suas conexões de serviço, pois você será solicitado a escolher e verificar suas conexões no modelo. Uma conexão de serviço permitirá que você se conecte ao seu Registro de Contêiner do Azure ao usar os modelos de tarefa e à assinatura do Azure onde deseja implantar o aplicativo.

  1. No canto inferior esquerdo, selecione Configurações do > projeto Conexões de serviço.
  2. Selecione nova conexão de serviço, selecione a opção Registro do Contêiner do Azure do Docker > para o tipo de conexão de serviço que você precisa e selecione Avançar.
  3. Escolha um método de autenticação e selecione Avançar.
  4. Insira os parâmetros para a conexão de serviço. A lista de parâmetros difere para cada tipo de conexão de serviço. Para obter mais informações, consulte a lista de tipos de conexão de serviço e parâmetros associados.
  5. Selecione Guardar para criar a ligação.
  6. Valide a conexão, uma vez que ela é criada e os parâmetros são inseridos. O link de validação usa uma chamada REST para o serviço externo com as informações inseridas e indica se a chamada foi bem-sucedida.
  7. Repita as mesmas etapas para criar uma conexão de serviço com sua Assinatura do Azure selecionando nova conexão > de serviço Azure Resource Manager.
  8. Observe a ID do recurso para ambas as conexões de serviço.

Criar o pipeline

Agora que você criou ambas as conexões de serviço, pode configurar seu pipeline. O pipeline YAML foi criado automaticamente pela ferramenta App Containerization e pode ser configurado da seguinte forma:

  1. Vá para Pipelines e selecione New Pipeline.
  2. Percorra as etapas do assistente selecionando primeiro o GitHub como o local do seu código-fonte.
  3. Poderá ser redirecionado para o GitHub para iniciar sessão. Em caso afirmativo, insira suas credenciais do GitHub.
  4. Quando a lista de repositórios aparecer, selecione seu repositório.
  5. Você pode ser redirecionado para o GitHub para instalar o aplicativo Azure Pipelines. Em caso afirmativo, selecione Aprovar e instalar.
  6. Quando o novo pipeline aparecer, revise o YAML para ver o que ele faz.
  7. No YAML, forneça a ID do recurso para a conexão de serviço do Registro de Contêiner do Azure como o valor para a variável dockerRegistryServiceConnection .
  8. Forneça a ID do recurso para a conexão de serviço do Azure Resource Manager como o valor para a variável dockerRegistryServiceConnection .
  9. Quando estiver pronto, Salve para confirmar o novo pipeline em seu repositório.

Seu pipeline está todo configurado para criar e implantar seu contêiner para operações do Dia 2. Você pode personalizar seu pipeline para atender às suas necessidades organizacionais.