Laboratorio 12: Automatización con CI/CD (GitHub Actions) | Curso Terraform GCP

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.

Newsletter GCP
¿Quieres estar al día con las últimas novedades de Google Cloud Platform? ¡Suscríbete y no te pierdas nada!