Tema 2: Integración continua y despliegue continuo (CI/CD)
⏱️ Tiempo estimado: 3-4 días
Un reto típico después de la fase anterior es tener que correr manualmente comandos de build y push por cada cambio en tu código. Eso se vuelve tedioso y propenso a errores.
En este tema vas a automatizar ese proceso con pipelines de Continuous Integration (CI) y Continuous Deployment (CD). Estos pipelines construyen, testean y despliegan tu aplicación automáticamente cada vez que hay cambios, asegurando un flujo de trabajo más confiable.
Hay varias herramientas de CI/CD como Jenkins, GitHub Actions y GitLab CI, que ejecutan tareas automáticamente cuando ocurre un trigger (commits, pull requests, schedules, etc.).
📚 Ruta de aprendizaje
Estudia
- ¿Qué es Continuous Integration (CI) y Continuous Delivery (CD)?
- Diferencias entre Continuous Integration, Continuous Delivery y Continuous Deployment
- Implementar CI/CD con:
🛠️ Tareas hands-on
Configuración básica de un pipeline CI/CD
- Configura un pipeline básico para tu app containerizada del tema anterior
- Usa GitHub Actions o Jenkins para automatizar:
- Build de la app
- Ejecutar tests
- Construir imagen Docker
- Pushear la imagen a un registry (DockerHub, AWS ECR, GCP GCR, etc.)
- Configura el trigger en commits a tu rama principal
- Agrega un sistema simple de notificaciones para avisarte de éxitos o fallos
Reto avanzado (opcional)
Implementa un pipeline multi-ambiente: despliega primero a staging, corre tests y luego promueve a producción.
🧪 Pon a prueba tu conocimiento
Usa un asistente de IA para evaluarte. Pasos:
-
Abre una conversación nueva con ChatGPT, Claude o Google Gemini
-
Usa este prompt inicial:
Estoy aprendiendo sobre pipelines CI/CD. Quiero que actúes como entrevistador/a:
- Hazme preguntas una por una sobre conceptos de CI/CD
- No me des las respuestas de inmediato
- Dame feedback sobre mis respuestas
- Si estoy mal, guíame hacia la respuesta correcta
- Comparte ejemplos reales después de cada respuesta
¿Empezamos? -
Temas clave:
- Fundamentos y diferencias de CI/CD
- Componentes y etapas del pipeline
- Integración con control de versiones
- Quality gates y testing
- Estrategias de despliegue
- Consideraciones de seguridad
-
Después de cada respuesta:
- Pide feedback
- Pide ejemplos reales
- Pide aclaraciones si lo necesitas
Tip pro: comparte tu contexto: “Estoy practicando con una app Node.js containerizada usando GitHub Actions. Enfoca las preguntas en ese escenario.”
Recuerda: el objetivo es evaluar tu entendimiento, no acertar todo a la primera.
✅ Checklist del tema
Antes de seguir, asegúrate de tener:
- Entendido fundamentos y diferencias de CI/CD
- Aprendido sobre componentes y etapas del pipeline
- Configurado un pipeline básico (GitHub Actions u otro)
- Configurado builds automáticos en commits
- Implementado build y push de imagen Docker
- Agregado notificaciones de éxito/fallo
- (Opcional) Implementado despliegue multi-ambiente