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 da nuvem e baseado em microsserviços.

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

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

A API Web .NET, denominada product service, suporta 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 do produto.

Este módulo orienta-o através dos seguintes passos:

  • Autentique ações do GitHub em um registro de contêiner.
  • Armazene com segurança informações confidenciais usadas pelo GitHub Actions.
  • 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 uma compilação.
  • Implemente uma ação para implantar o contêiner atualizado em um cluster do Serviço Kubernetes do Azure (AKS).
  • Modifique e confirme um gráfico de leme para acionar a implantação.
  • Reverta 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 cobranças desnecessárias em sua assinatura do Azure, exclua seus recursos do Azure quando terminar este módulo.

Pré-requisitos

  • Conhecimento conceitual das práticas de DevOps.
  • Conhecimento conceitual de containers, 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 GitHub Codespaces, configurado conforme descrito na seção a seguir.

Contentor de desenvolvimento

Este 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 que é 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 código necessárias do Visual Studio.