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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat