GuíaIntermedio
Guía de CI/CD y GitOps sobre AWS
Toma el proyecto Terraform de Andes Cargo, terminado a mano en la Guía de Terraform e IaC, y le enseña a dejar de correr `terraform apply` desde la laptop para correrlo dentro de un pipeline. La guía distingue integración continua, entrega continua y despliegue continuo, define GitOps (Git como fuente de verdad de la infraestructura, no solo del código) y diseca la anatomía completa de un workflow de GitHub Actions. Construye el patrón estándar de la industria —`fmt`/`validate`/`plan` corridos en cada Pull Request como el artefacto que se revisa antes de fusionar, y `apply` corrido automáticamente solo al fusionar a `main`—, cubre el manejo de secretos y por qué una credencial de AWS de vida larga en un repositorio es el antipatrón de seguridad más citado del mercado, muestra el patrón OIDC federado en YAML real, y enseña ambientes con aprobación, control de concurrencia y detección de drift programada. El módulo de rollback enseña el patrón específico de infraestructura (revertir el commit, dejar que el mismo pipeline vuelva a aplicar) y construye un guardrail real que falla el job si un cambio intenta destruir la tabla de datos de Andes Cargo — retomando el incidente real de `terraform destroy` de la guía anterior desde la pregunta de si un pipeline lo habría evitado. Todo corre $0 y reproducible con `act`, la herramienta que ejecuta el YAML real de GitHub Actions en Docker local, contra el mismo laboratorio LocalStack de las guías anteriores — con honestidad explícita sobre lo que `act` no puede simular (aprobación de ambientes, branch protection, comentarios reales de PR) y una cita completa del punto donde ese límite aparece.
- 64
- lecciones
- 8
- módulos
- Inglés · Español
- disponible en
- Sí
- certificado
- Gratis
- acceso
Resultados
Lo que vas a poder hacer
- Distinguir integración continua, entrega continua y despliegue continuo, y ubicar dónde cae cada pieza de un pipeline de infraestructura
- Explicar qué es GitOps y por qué Git se convierte en la fuente de verdad de la infraestructura, no solo del historial de código
- Escribir y leer la anatomía completa de un workflow de GitHub Actions (`on`/`jobs`/`steps`/`runs-on`/`uses`/`with`), con sus disparadores (`push`, `pull_request`, `schedule`, `workflow_dispatch`)
- Construir el patrón `fmt`/`validate`/`plan` en cada Pull Request como el artefacto que se revisa antes de fusionar un cambio de infraestructura
- Encadenar un `apply` automático al fusionar a `main`, usando `needs` y el plan exacto que se revisó, sin recalcularlo
- Manejar secretos con GitHub Secrets y explicar por qué una credencial de larga vida en un repositorio es un antipatrón, con OIDC federado como la alternativa moderna
- Configurar control de concurrencia para evitar un doble `apply` simultáneo contra el mismo state
- Programar detección de drift con `schedule` y sintaxis cron
- Aplicar el patrón de rollback de infraestructura (revertir el commit, dejar que el pipeline vuelva a aplicar) y usar branch protection como control de fusión
- Construir un guardrail que revisa un `plan` en JSON y falla el pipeline antes de destruir un recurso protegido
- Ejecutar workflows de GitHub Actions localmente con `act`, simulando eventos y pasando secretos sin depender de una cuenta de GitHub real
Antes de empezar
Qué necesitas traer
Es para ti si...
- Devs que ya completaron la Guía de Terraform e IaC y quieren dejar de correr `apply` a mano desde su laptop
- Equipos que necesitan revisión obligatoria antes de que un cambio de infraestructura llegue a producción
- Devs que buscan reemplazar credenciales de AWS de larga vida guardadas en un repositorio por un patrón más seguro
- Cualquiera que necesite el patrón estándar de CI/CD para infraestructura como código (no para código de aplicación) antes de construir guardrails de seguridad avanzados
Requisitos y materiales
- Guía de Terraform e IaC completada (proyecto `andes-cargo-infra/`, ciclo `init`/`plan`/`apply`/`destroy`, módulos reutilizables)
- Git a nivel de uso: `init`/`add`/`commit`/`branch`/`merge`/`revert`
- Docker instalado y funcionando localmente (para correr `act` y LocalStack)
- Cuenta gratuita de LocalStack con auth token, sin necesidad de tarjeta ni de una cuenta de GitHub real
Contenido
El temario, módulo por módulo
Abre cualquiera para ver sus lecciones.
- 1. Introducción a la guía: de la terminal al pipeline
- 2. El problema del `apply` manual
- 3. CI, CD y CD: tres cosas, una sigla
- 4. Qué es GitOps
- 5. GitHub Actions y sus alternativas, con honestidad de mercado
- 6. Manos a la obra: instalando `act`
- 7. Manos a la obra: tu primer workflow local, de punta a punta
- 8. Proyecto: arrancando el pipeline de Andes Cargo
- 1. Introducción: leer y escribir un workflow con criterio
- 2. Anatomía completa de un bloque de workflow
- 3. Disparadores: `push`, `pull_request`, `workflow_dispatch`
- 4. El disparador `schedule` y sintaxis cron
- 5. Actions reutilizables: `uses`, `with`, y el riesgo de la cadena de suministro
- 6. Manos a la obra: simulando eventos con `act -e`
- 7. Manos a la obra: pasando secretos a `act`
- 8. Proyecto: el primer workflow real de Andes Cargo
- 1. Introducción al módulo: lo que corre antes de fusionar
- 2. El patrón HashiCorp/GitHub: `plan` en PR, `apply` en merge
- 3. Instalando Terraform dentro de un runner efímero
- 4. Manos a la obra: `fmt` y `validate` como pasos que pueden fallar el job
- 5. Conectando el runner a LocalStack a través del host
- 6. Manos a la obra: `terraform plan` corriendo dentro de CI
- 7. Publicar el `plan` como evidencia de revisión
- 8. Proyecto: el `ci.yml` de Andes Cargo
- 1. Introducción: quién puede aplicar qué, y con qué llave
- 2. Por qué una credencial nunca vive en el repositorio
- 3. GitHub Secrets: de repositorio y de ambiente
- 4. Qué es la federación OIDC
- 5. El patrón OIDC en YAML, nombrado
- 6. Ambientes de GitHub: `dev` y `prod`
- 7. Manos a la obra: credenciales dummy para LocalStack
- 8. Proyecto: el plan de secretos y ambientes de Andes Cargo
- 1. Introducción: de la revisión a la aplicación
- 2. El disparador de fusión: `push` a `main`
- 3. Encadenar jobs con `needs` y pasar el `plan` exacto
- 4. Manos a la obra: construyendo `apply.yml`
- 5. Control de concurrencia: evitar el doble `apply`
- 6. Detección de drift programada
- 7. Manos a la obra: corriendo el job de drift a mano
- 8. Proyecto: el pipeline completo de plan a apply
- 1. Introducción: qué hacer cuando el `apply` sale mal
- 2. Qué significa rollback para infraestructura
- 3. Manos a la obra: el pipeline de `git revert`
- 4. Branch protection como control
- 5. ¿Un pipeline hubiera detenido el incidente de Claude Code?
- 6. Guardrails de `apply`, nombrados
- 7. Manos a la obra: un guardrail mínimo, real y ejecutado
- 8. Proyecto: la red de seguridad de Andes Cargo
- 1. Introducción al Módulo 7: lo que esta guía no es
- 2. GitLab CI, CircleCI y Jenkins por contraste
- 3. GitOps para Kubernetes: ArgoCD y Flux, nombrados
- 4. *Push-based* vs. *pull-based*: dos GitOps, un principio
- 5. Estrategias de despliegue de aplicación, nombradas
- 6. CI/CD de código de aplicación vs. infraestructura
- 7. Manos a la obra: un pipeline mínimo de aplicación, solo para contrastar
- 8. Proyecto: la decisión de herramienta de Andes Cargo
- 1. Introducción al capstone: el pipeline completo, de punta a punta
- 2. Repaso de arquitectura: el pipeline completo
- 3. Recorrido end-to-end: un cambio real cruzando el pipeline
- 4. Recorrido end-to-end: un cambio rechazado
- 5. Lo que solo se vive con una cuenta de GitHub real
- 6. La seguridad que esta guía no construyó
- 7. Lo que Andes Cargo todavía necesita
- 8. Proyecto final: el pipeline de Andes Cargo como entregable
Dudas frecuentes
Lo que suele preguntarse
Sin límite. Es una guía gratuita: entras cuando quieras, las veces que quieras.
No. Los módulos están ordenados de menos a más, pero puedes saltar al que necesites. Tu progreso se guarda por lección.
Lo que haga falta está en «Qué necesitas traer», arriba. Si no aparece nada ahí, puedes empezar desde cero.
En el grupo de WhatsApp del Club, y cada quince días hay un live con un instructor donde se resuelven dudas en vivo.
Sí. Al terminar todas las lecciones se emite automáticamente, con un código verificable que puedes compartir en LinkedIn.
Empieza cuando quieras
Lo que dicen los estudiantes
Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.
Aún no hay reseñas aprobadas.
¡Sé el primero en compartir tu experiencia!