CI/CD con GitHub Actions, Docker y Terraform: aprendizajes

Pipeline CI/CD con Docker, Flask y Terraform para desplegar una API de frases motivacionales: build, pruebas y despliegue automático con infraestructura como código.

3 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Hace poco ejecuté un proyecto que me permitió revisitar conceptos clave de CI CD, contenerización y la práctica de infraestructura como código. Más que un repaso de herramientas, fue un ejercicio de diseño de arquitectura, integración y criterio para decidir cómo y cuándo usar tecnologías modernas en un flujo real de entrega continua.

El objetivo fue construir una API en Python con Flask que devuelve frases motivacionales aleatorias, empaquetarla con Docker y orquestar su despliegue automático con GitHub Actions y Terraform hacia un proveedor cloud. Todo el pipeline se activa con cada commit en la rama main.

El resultado del pipeline incluyó tres etapas bien definidas: construcción de la imagen Docker de la aplicación, ejecución de pruebas básicas de salud y endpoints, y aprovisionamiento y despliegue en la nube con Terraform y la integración nativa del proveedor. Con esto se garantizó que cada cambio pasara por build, test y release de forma repetible y auditable.

Stack y decisiones técnicas principales: Python y Flask para una API ligera, Docker para portabilidad y consistencia de entorno, GitHub Actions para CI CD con flujos separados por responsabilidad, Terraform como IaC para declarar recursos y estados, y un proveedor cloud para el alojamiento. Este enfoque facilita escalar el servicio, migrarlo entre entornos y mantener trazabilidad de cambios.

La API expone una ruta raíz con un mensaje de bienvenida, una ruta de frase que devuelve una selección aleatoria y un manejo de error 404 consistente, todo con respuestas JSON sencillas. El contenedor se basa en una imagen ligera de Python, instala dependencias desde requirements, expone el puerto 80 y arranca el servicio con un comando único. Localmente se valida con un build y un run asignando el puerto 80 del host al contenedor.

En GitHub Actions configuré un flujo que se dispara en pull request y push sobre main. El job principal construye la imagen Docker, levanta el contenedor en segundo plano y valida rutas con curl para asegurar que la raíz, el endpoint de frase y el manejo de 404 funcionen correctamente. Al terminar, detiene el contenedor y deja el resultado listo para el siguiente paso.

Para la infraestructura, un segundo workflow se activa ante cambios en la rama infra. Ejecuta init, plan y apply de Terraform con variables sensibles inyectadas desde secretos de GitHub. El provider describe el servicio web en modo docker, el plan de capacidad, el entorno, la rama de despliegue y el repositorio fuente. Este enfoque evita cambios manuales en consola, mantiene estado versionado y acelera rollbacks si son necesarios.

Lecciones aprendidas más relevantes: la contenerización reduce drásticamente el clásico problema de funciona en mi máquina; GitHub Actions permite diseñar pipelines declarativos y modulares que escalan con el proyecto; Terraform obliga a pensar la infraestructura como parte del código, con variables, outputs y estados que documentan y automatizan cada recurso; separar la aplicación del código de infraestructura mejora la mantenibilidad y el troubleshooting.

Dificultades y cómo las abordé: repasé sintaxis y módulos de Terraform para alinear versiones y buenas prácticas, y dediqué tiempo a entender el modelo de despliegue del proveedor cloud para aprovechar sus integraciones con repositorios y ramas. La curva fue breve y el beneficio de la automatización compensa con creces.

Herramientas que aceleraron el trabajo: ChatGPT para resolver dudas puntuales y comparar enfoques, GitHub Copilot para generar esqueletos de archivos de configuración y pruebas, y Claude Sonnet 3.7 para proponer mejoras en la organización del proyecto y en la estructura del pipeline.

Conclusión y recomendaciones prácticas: construir un pipeline CI CD de extremo a extremo con Docker, GitHub Actions y Terraform es un ejercicio valioso para cualquier equipo. Te obliga a estandarizar, automatizar y documentar, y sienta bases para una evolución saludable del producto. Si estás empezando, crea una API pequeña, añade pruebas de salud y de endpoints, automatiza build y deploy y describe tu infraestructura con código. La experiencia práctica es insustituible.

En Q2BSTUDIO acompañamos a empresas a diseñar y operar pipelines robustos, integrando aplicaciones a medida y software a medida con prácticas de DevOps, automatización y observabilidad. Combinamos servicios cloud aws y azure, ia para empresas con agentes IA, ciberseguridad y pentesting, y servicios inteligencia de negocio con power bi para escalar soluciones con seguridad, eficiencia y datos accionables. Si te interesa mejorar tu arquitectura y despliegue, explora nuestros servicios cloud AWS y Azure o impulsa tu operación con automatización de procesos orientada a CI CD.

Separación de pipelines que recomiendo replicar: un pipeline CI que construye la imagen, ejecuta pruebas automatizadas y valida salud de endpoints en contenedor, y un pipeline de infraestructura que gestiona Terraform en una rama dedicada. Esta división reduce acoplamientos, acelera diagnósticos y permite evolucionar cada pieza de forma independiente sin afectar la otra.

Palabras clave para quien quiera profundizar y posicionar capacidades internas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Integrarlas de forma orgánica en tu estrategia técnica y de contenido te ayudará a comunicar valor real y a atraer proyectos alineados con tus objetivos.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat