Automatización de despliegue de microservicios con GitHub Actions y Azure

Clase 22 de 24Curso de Introducción a los Microservicios

Resumen

Optimizar el flujo de trabajo mediante GitHub Actions es clave para automatizar fácilmente el despliegue de microservicios en Azure Container Apps. Al implementar esta solución, evitas procesos manuales repetitivos, garantizando actualizaciones rápidas y constantes tras cada commit. Esto eleva significativamente la eficiencia del equipo de desarrollo y la estabilidad del entorno.

¿Cómo integro GitHub Actions con Azure Container Apps?

La integración implica utilizar GitHub Actions para crear automáticamente la imagen de cada microservicio, publicarla en Docker Hub y desplegarla en Azure Container Apps. Para esto:

  • Define claramente el nombre de cada GitHub Action, facilitando identificar el servicio desplegado en cada momento.
  • Ten en cuenta crear acciones separadas para cada uno de tus microservicios; hacerlo en una sola nunca da buenos resultados.
  • Usa la rama main para controlar las versiones desplegadas.

¿Qué elementos clave debo configurar en mi GitHub Action?

Al crear una GitHub Action orientada al despliegue, existen variables esenciales para su adecuado funcionamiento:

  • Resource Group: Grupo de recursos en Azure donde están tus Container Apps.
  • Nombre de imagen: Identificador que utilizarás en Docker Hub.
  • Entorno: El contexto de Azure Container App a utilizar.

Además, presta mucha atención a la ruta del proyecto indicado en tu flujo de trabajo. Una correcta configuración permitirá la localización y construcción efectiva del microservicio.

¿Cómo gestiono las credenciales y secretos de configuración?

El manejo apropiado de tus secretos y configuraciones es crítico:

  • Evita subir archivos como AppSettings.json con cadenas sensibles directamente al control de versiones.
  • Usa secretos en GitHub Actions para variables delicadas como cadenas de conexión a bases de datos, nombres de queues y tópicos de Service Bus.
  • Configura las variables desde Visual Studio Code hacia GitHub Actions. En el entorno local, estos valores pueden existir en configuraciones explícitas, pero en contexto Docker, opta siempre por variables de ambiente.

Mediante este método, mantienes alta seguridad y accesibilidad a tus configuraciones sensibles.

¿Qué pasos seguir después del despliegue automatizado?

Una vez que la imagen ha sido correctamente compilada y desplegada:

  • Verifica el enlace generado por el proceso desplegado.
  • Este enlace se utilizará para realizar consultas al microservicio desplegado usando herramientas como archivos HTTP en Visual Studio.
  • Recuerda que en entornos productivos no es común tener Swagger visible, así que debes utilizar esta URL directamente para pruebas posteriores.

Integrar correctamente estos aspectos resultará en un proceso de despliegue ágil, eficaz y seguro. ¿Tienes alguna pregunta adicional acerca del despliegue de aplicaciones o la automatización con GitHub Actions?