Introdução

Concluído

Imagine que você trabalha como engenheiro de software para um varejista de roupas ao ar livre online. Você é responsável por implantar e atualizar a vitrine online do varejista, um aplicativo .NET nativo de nuvem e baseado em microsserviços.

Para atender aos requisitos de projeto e aprimorar as práticas de desenvolvimento agile da sua equipe, você decide comparar a CI/CD (integração contínua e implantação contínua) por meio do GitHub Actions e do Azure Pipelines. Os pipelines de CI/CD usam uma série de etapas automatizadas para compilar e implementar aplicativos desde a compilação até todos os ambientes.

Como a Web atual tem uma arquitetura de microsserviços e cada microsserviço é implantado de forma independente, você começa configurando CI/CD para um único serviço.

A .NET Web API, chamada serviço de produto, dá suporte a todas as funcionalidades do catálogo de back-end do site. Neste módulo, você implementará um pipeline de CI/CD para o serviço de produto.

Este módulo orienta você pelas seguintes etapas:

  • Autenticar o GitHub Actions em um registro de contêiner.
  • Armazene com segurança informações confidenciais que o GitHub Actions usa.
  • Implemente uma ação para criar a imagem de contêiner para um microsserviço.
  • Modifique e confirme o código do microsserviço para disparar um build.
  • Implemente uma ação para implantar o contêiner atualizado em um cluster do AKS (Serviço de Kubernetes do Azure).
  • Modificar e fazer commit de um chart do Helm para disparar a implantação.
  • Reverter o microsserviço para a implantação anterior.

Você usa sua própria assinatura do Azure para implantar os recursos neste módulo. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Importante

Para evitar encargos desnecessários em sua assinatura do Azure, exclua seus recursos do Azure quando terminar de usar este módulo.

Pré-requisitos

  • Conhecimento conceitual das práticas de DevOps.
  • Conhecimento conceitual de contêineres, Docker e AKS.
  • Acesso a uma assinatura do Azure com permissões de Proprietário .
  • Acesso a uma conta do GitHub.
  • Capacidade de executar contêineres de desenvolvimento no Visual Studio Code ou no GitHub Codespaces, conforme descrito na seção a seguir.

Contêiner de desenvolvimento

Esse módulo inclui arquivos de configuração que definem um contêiner de desenvolvimento ou contêiner de desenvolvimento. O uso de um contêiner de desenvolvimento garante um ambiente padronizado pré-configurado com as ferramentas necessárias.

O contêiner de desenvolvimento pode ser executado em qualquer um dos dois ambientes. Antes de começar, siga as etapas em um dos links a seguir para configurar seu ambiente, incluindo a instalação do Docker e as extensões de Visual Studio Code necessárias.