Introdução

Concluído

Imagine que você trabalha como engenheiro de software em uma loja online de roupas para atividades ao ar livre. Você é responsável pela implantação e atualização da loja online do varejista, um aplicativo .NET baseado em microsserviços e nativo da nuvem.

Para atender aos requisitos do projeto e aprimorar as práticas de desenvolvimento ágil da sua equipe, decida comparar a integração contínua e a implantação contínua (CI/CD) 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 a CI/CD para um único serviço.

A API Web .NET, chamada serviço de produto, dá suporte para todos os recursos de 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 guia você nas seguintes etapas:

  • Autenticar o GitHub Actions em um registro de contêiner.
  • Armazenar com segurança informações confidenciais que o GitHub Actions usa.
  • Implementar uma ação para criar a imagem de contêiner para um microsserviço.
  • Modificar e confirmar o código do microsserviço para disparar um build.
  • Implementar 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 assinatura do Azure para implantar os recursos deste 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 os recursos do Azure quando terminar 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.