Curso de Introducción a los Microservicios

Automatizar microservicios con Bash y Dockerfile

Curso de Introducción a los Microservicios

Contenido del curso

Automatizar microservicios con Bash y Dockerfile

Resumen

Automatizar la creación de microservicios con Bash y Dockerfile te permite escalar proyectos en .NET sin repetir comandos manualmente. Aquí descubrirás cómo pasar de un script básico a uno avanzado que limpia carpetas, genera proyectos con dotnet new webapi y añade un Dockerfile personalizado a cada microservicio.

¿Por qué no basta con crear los proyectos uno a uno?

Crear varios proyectos con plantillas de ASP.NET es rápido, pero deja un detalle pendiente: las plantillas no incluyen un Dockerfile por defecto. Y si planeas desplegar microservicios, vas a necesitar ese archivo en cada uno, con configuraciones específicas que se ajusten a tu versión de .NET.

Ahí es donde entra la automatización con Bash. En lugar de copiar y pegar instrucciones para cada servicio, dejas que el script haga el trabajo pesado mientras tú tomas un café o lees algo.

¿Qué es un Dockerfile? Es un archivo de texto con instrucciones para construir una imagen Docker. Define la versión de runtime, las dependencias y cómo se ejecuta tu aplicación dentro del contenedor.

¿Cómo mejora el deployment2 al deployment1 anterior?

El primer script, deployment1, ya creaba los proyectos, pero el segundo lleva la automatización a otro nivel. Estas son las mejoras clave que aporta deployment2:

  • Verifica si la carpeta microservicios ya existe y, si la encuentra, la elimina antes de empezar.
  • Crea una nueva carpeta limpia en cualquiera de los dos casos, exista o no previamente.
  • Usa un ciclo for dentro de Bash para recorrer la lista de proyectos sin repetir código.
  • Genera cada proyecto con dotnet new webapi y entra a su carpeta correspondiente.
  • Agrega un Dockerfile preconfigurado con la versión 8 de .NET a cada microservicio.

Este enfoque cíclico es lo que convierte un script funcional en uno verdaderamente eficiente.

¿Cómo funciona el ciclo for en Bash para crear microservicios?

La lógica es simple: defines una lista con los nombres de tus proyectos y el for itera sobre cada uno. En cada vuelta, el script hace tres cosas dentro de la misma instrucción:

  1. Crea el proyecto con la plantilla de webapi.
  2. Navega a la carpeta recién creada.
  3. Escribe el contenido del Dockerfile dentro de un archivo nuevo.

Cuando el ciclo termina, tienes todos tus microservicios listos, cada uno con su Dockerfile en la versión correcta. Por ejemplo, al revisar el proyecto addchild, encuentras el Dockerfile con la versión 8 ya configurada, sin haber escrito una línea extra.

¿Cómo ejecutar el script y verificar que todo funcionó?

Desde la terminal, limpias el área de trabajo y ejecutas deployment2. A partir de ahí, Bash se encarga de todo. Mientras corre, puedes volver a VS Code, refrescar la estructura de carpetas y ver cómo aparecen los proyectos uno tras otro.

Una vez termina, abres cualquier microservicio y confirmas dos cosas: que el Dockerfile existe y que tiene la versión 8 de .NET. Si ambas se cumplen, el script hizo su trabajo correctamente.

¿Por qué la carpeta de microservicios no está en el repositorio? Porque se genera dinámicamente con el script. Al final del curso se elimina para mantener el repositorio limpio, y cada estudiante crea la suya al hacer fork.

¿Qué debes hacer antes de continuar con el proyecto?

El flujo recomendado es claro: haz un fork del repositorio para tener tu propia copia. Desde ahí, ejecuta el script y genera tu carpeta de microservicios sin afectar el repositorio original. Esto te da libertad para experimentar, modificar configuraciones y desplegar lo que necesites.

La automatización con Bash no es solo comodidad, es una práctica que escala. Cuantos más microservicios manejes, más valor tiene tener un script que los provisione de forma consistente.

¿Ya probaste adaptar el ciclo for para añadir otros archivos de configuración? Cuéntame en los comentarios qué automatizaciones le agregarías.