Laboratorio 12: Automatización con CI/CD (Implementando un Pipeline de GitOps)
Autor: Eduardo Martínez Agrelo
Bienvenidos al duodécimo y último laboratorio del curso de Terraform. En este módulo práctico, aprenderemos a automatizar nuestros despliegues. Configuraremos un flujo de trabajo de GitOps en Google Cloud utilizando pipelines continuos para validar y aplicar cambios en la infraestructura.
Filosofía GitOps: Integración y Entrega Continuas (CI/CD)
La gestión profesional de infraestructura prohíbe ejecutar comandos de forma manual desde la terminal del desarrollador. Para garantizar la consistencia, auditoría y revisión de cambios, el ciclo de vida de los recursos debe gobernarse de forma automatizada:
- Integración Continua (CI): Validará de forma automática que el formato del código sea correcto y generará un reporte de planificación ante cada Pull Request.
- Despliegue Continuo (CD): Aplicará los cambios en la nube de forma autónoma únicamente cuando los commits se fusionen en la rama principal.
Inyección Dinámica de Variables mediante Secretos de Repositorio
Para evitar escribir datos sensibles en los archivos de configuración, utilizaremos las variables de entorno que el motor de Terraform detecta de manera nativa:
TF_VAR_project_id = secrets.GCP_PROJECT_ID
Esta directiva de GitHub Actions mapea de forma segura el identificador del proyecto almacenado en los secretos cifrados de nuestro repositorio. De esta forma, el pipeline puede inyectar variables dinámicas en tiempo de ejecución de manera segura.
La Autenticación Segura del Agente Virtual en la Nube
Para permitir que el agente virtual interactúe con los servicios, debemos configurar su autenticación. No utilizaremos accesos desprotegidos; aplicaremos llaves cifradas en Terraform y secretos en el repositorio para orquestar la conexión:
- GCP_SA_KEY: Almacenará de forma segura el archivo JSON de credenciales de la cuenta de servicio en GitHub Secrets para autorizar las llamadas a GCP.
- state-cicd: Conectará el pipeline con el bucket remoto para resguardar la persistencia y control del estado.
El Archivo del Flujo de Trabajo en YAML
En este laboratorio final, integrarás todas las etapas bajo un único flujo de trabajo. Crearemos el archivo de manifiesto
del pipeline en la ruta dedicada .github/workflows/terraform.yml, automatizando completamente las tareas
de análisis y despliegue.
Conclusión: Tu portafolio de infraestructura completo
Has completado el curso práctico de Terraform en Google Cloud. Has aprendido que la automatización real consiste en integrar redes, bases de datos, cómputo y seguridad bajo un pipeline de CI/CD que actúa de forma autónoma, segura y auditada. Ya tienes tus 12 laboratorios listos en Google Cloud; el siguiente paso es compartir tu portafolio de GitHub con tu comunidad profesional.