Introducción

Completado

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

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 guiará a través de 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.
  • Implementar una acción para compilar la imagen de contenedor de un microservicio.
  • Modificar y confirmar el código del microservicio para desencadenar una compilación.
  • Realizar 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.
  • Revertir el microservicio a la implementación anterior.

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

Importante

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

Requisitos previos

  • 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.