Introdução
Imagine que trabalha como engenheiro de software para um retalhista online de roupa exterior. 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 das Ações do GitHub e do Azure Pipelines. Os pipelines de CI/CD usam uma série de etapas automatizadas para compilar e implantar aplicativos desde a compilaçã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 o CI/CD para um único serviço.
A API da Web .NET, chamada de serviço do produto, oferece suporte a todos os recursos 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:
- Autenticar GitHub Actions num registo de contentor.
- 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.
- Modificar e consolidar o código do microsserviço para acionar 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 disparar 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 não tiver uma subscrição 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, configurados 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.
- Visual Studio Code e um ambiente Docker suportado em sua máquina local.
- GitHub Codespaces (custos podem ser aplicados).