Introducción

Completado

Imagine que trabaja como ingeniero de software para un minorista de ropa exterior en línea. Es responsable de implementar y actualizar el escaparate en línea del minorista, una aplicación de .NET nativa de nube y basada en microservicios.

Para cumplir los requisitos del proyecto y mejorar las prácticas de desarrollo ágiles de su equipo, decide comparar la integración continua y la implementación continua (CI/CD) a través de Acciones de GitHub y Azure Pipelines. Las canalizaciones de CI/CD usan una serie de pasos automatizados para compilar e implementar aplicaciones desde la compilación a través de todos los entornos.

Dado que la web actual tiene una arquitectura de microservicios y cada microservicio se implementa de forma independiente, empiece por configurar CI/CD para un único servicio.

La API web de .NET, denominada servicio de producto, admite todas las características del catálogo de back-end del sitio web. En este módulo, implementará una canalización de CI/CD para el servicio de producto.

Este módulo le guía por los pasos siguientes:

  • Autenticar Acciones de GitHub en un registro de contenedor.
  • Almacenar de forma segura la información confidencial que Acciones de GitHub usa.
  • Implemente una acción para compilar la imagen de contenedor para un microservicio.
  • Modifique y confirme el código de microservicio para desencadenar una compilación.
  • Implemente una acción para implementar el contenedor actualizado en un clúster de Azure Kubernetes Service (AKS).
  • Modificar y confirmar un gráfico de Helm para desencadenar la implementación.
  • Revierta el microservicio a la implementación anterior.

Use su propia suscripción de Azure para implementar los recursos de este módulo. Si no tiene una suscripción de Azure, cree una cuenta gratuita antes de empezar.

Importante

Para evitar cargos innecesarios en la suscripción de Azure, asegúrese de eliminar los recursos de Azure cuando haya terminado con este módulo.

Prerrequisitos

  • Conocimientos conceptuales de las prácticas de DevOps.
  • Conocimientos conceptuales de contenedores, Docker y AKS.
  • Acceso a una suscripción de Azure con permisos de propietario .
  • Acceso a una cuenta de GitHub.
  • Capacidad de ejecutar contenedores de desarrollo en Visual Studio Code o GitHub Codespaces, como se describe en la sección siguiente.

Contenedor de desarrollo

Este módulo incluye archivos de configuración que definen un contenedor de desarrollo o contenedor para desarrolladores. El uso de un contenedor para desarrolladores garantiza disponer de un entorno estandarizado preconfigurado con las herramientas necesarias.

El contenedor para desarrolladores se puede ejecutar en cualquiera de los dos entornos. Antes de comenzar, siga los pasos descritos en uno de los vínculos siguientes para configurar el entorno, incluida la instalación de Docker y las extensiones de Visual Studio Code necesarias.