[{"data":1,"prerenderedAt":29},["ShallowReactive",2],{"article-data-curso-gcp-terraform-12":3},{"content":4,"date":5,"image":6,"sideArticles":7},"\u003C!DOCTYPE html>\r\n\u003Chtml lang=\"es\">\r\n\r\n\u003Chead>\r\n    \u003Cmeta charset=\"UTF-8\">\r\n    \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    \u003Cmeta name=\"description\"\r\n        content=\"Módulo 12: Automatización con CI/CD mediante GitHub Actions. Aprende a crear un pipeline GitOps para planificar y aplicar cambios de Terraform de manera automatizada.\">\r\n    \u003Cmeta name=\"keywords\"\r\n        content=\"Terraform, Google Cloud, GCP, CI/CD, GitHub Actions, GitOps, Automatización, Pipeline, GitHub Secrets\">\r\n    \u003Cmeta name=\"author\" content=\"Eduardo Martínez Agrelo\">\r\n    \u003Ctitle>Laboratorio 12: Automatización con CI/CD (GitHub Actions) | Curso Terraform GCP\u003C/title>\r\n    \u003Cstyle>\r\n        body {\r\n            font-family: sans-serif;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        h1,\r\n        h2,\r\n        h3 {\r\n            color: #333;\r\n        }\r\n\r\n        ul {\r\n            list-style-type: disc;\r\n            margin-left: 20px;\r\n        }\r\n\r\n        code {\r\n            background-color: #f4f4f4;\r\n            padding: 2px 5px;\r\n            border-radius: 3px;\r\n            font-family: monospace;\r\n        }\r\n    \u003C/style>\r\n\u003C/head>\r\n\r\n\u003Cbody>\r\n    \u003Ch1>Laboratorio 12: Automatización con CI/CD (Implementando un Pipeline de GitOps)\u003C/h1>\r\n\r\n    \u003Cp>\u003Cstrong>Autor:\u003C/strong> \u003Ca href=\"https://www.youtube.com/@EduardoMartinezAgrelo\" target=\"_blank\">Eduardo Martínez\r\n            Agrelo\u003C/a>\u003C/p>\r\n\r\n    \u003Cp>Bienvenidos al duodécimo y último laboratorio del curso de \u003Cstrong>Terraform\u003C/strong>. En este módulo práctico,\r\n        aprenderemos a automatizar nuestros despliegues. Configuraremos un flujo de trabajo de GitOps en \u003Cstrong>Google Cloud\u003C/strong>\r\n        utilizando pipelines continuos para validar y aplicar cambios en la infraestructura.\r\n    \u003C/p>\r\n\r\n    \u003Ch2>Filosofía GitOps: Integración y Entrega Continuas (CI/CD)\u003C/h2>\r\n\r\n    \u003Cp>La gestión profesional de infraestructura prohíbe ejecutar comandos de forma manual desde la terminal del\r\n        desarrollador. Para garantizar la consistencia, auditoría y revisión de cambios, el ciclo de vida de los\r\n        recursos debe gobernarse de forma automatizada:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>Integración Continua (CI):\u003C/strong> Validará de forma automática que el formato del código sea correcto y\r\n            generará un reporte de planificación ante cada Pull Request.\u003C/li>\r\n        \u003Cli>\u003Cstrong>Despliegue Continuo (CD):\u003C/strong> Aplicará los cambios en la nube de forma autónoma únicamente cuando\r\n            los commits se fusionen en la rama principal.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>Inyección Dinámica de Variables mediante Secretos de Repositorio\u003C/h2>\r\n\r\n    \u003Cp>Para evitar escribir datos sensibles en los archivos de configuración, utilizaremos las variables de entorno que el\r\n        motor de Terraform detecta de manera nativa:\u003C/p>\r\n    \u003Cp>\u003Ccode>TF_VAR_project_id = secrets.GCP_PROJECT_ID\u003C/code>\u003C/p>\r\n    \u003Cp>Esta directiva de GitHub Actions mapea de forma segura el identificador del proyecto almacenado en los secretos\r\n        cifrados de nuestro repositorio. De esta forma, el pipeline puede inyectar variables dinámicas en tiempo de ejecución\r\n        de manera segura.\u003C/p>\r\n\r\n    \u003Ch2>La Autenticación Segura del Agente Virtual en la Nube\u003C/h2>\r\n\r\n    \u003Cp>Para permitir que el agente virtual interactúe con los servicios, debemos configurar su autenticación. No utilizaremos\r\n        accesos desprotegidos; aplicaremos llaves cifradas en \u003Cstrong>Terraform\u003C/strong> y secretos en el repositorio para\r\n        orquestar la conexión:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>GCP_SA_KEY:\u003C/strong> Almacenará de forma segura el archivo JSON de credenciales de la cuenta de servicio en\r\n            \u003Cstrong>GitHub Secrets\u003C/strong> para autorizar las llamadas a \u003Cstrong>GCP\u003C/strong>.\u003C/li>\r\n        \u003Cli>\u003Cstrong>state-cicd:\u003C/strong> Conectará el pipeline con el bucket remoto para resguardar la persistencia y control del\r\n            \u003Cstrong>estado\u003C/strong>.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>El Archivo del Flujo de Trabajo en YAML\u003C/h2>\r\n\r\n    \u003Cp>En este laboratorio final, integrarás todas las etapas bajo un único flujo de trabajo. Crearemos el archivo de manifiesto\r\n        del pipeline en la ruta dedicada \u003Ccode>.github/workflows/terraform.yml\u003C/code>, automatizando completamente las tareas\r\n        de análisis y despliegue.\u003C/p>\r\n\r\n    \u003Ch2>Conclusión: Tu portafolio de infraestructura completo\u003C/h2>\r\n    \u003Cp>Has completado el curso práctico de Terraform en Google Cloud. Has aprendido que la automatización real consiste en\r\n        integrar redes, bases de datos, cómputo y seguridad bajo un pipeline de CI/CD que actúa de forma autónoma, segura y\r\n        auditada. Ya tienes tus 12 laboratorios listos en Google Cloud; el siguiente paso es compartir tu portafolio de GitHub\r\n        con tu comunidad profesional.\u003C/p>\r\n\u003C/body>\r\n\r\n\u003C/html>","July 2, 2026","https://storage.googleapis.com/mp-blog/images/curso-gcp-terraform-12.jpg",[8,14,19,24],{"id":9,"title":10,"description":11,"image":12,"date":13},"curso-gcp-ai-ops-01","Fundamentos de AIOps en Google Cloud | Curso AIOps con Vertex AI","Módulo 1: Fundamentos de AIOps en Google Cloud. Aprende la transición de ITOps a operaciones inteligentes y cómo preparar tu infraestructura base con Terraform.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-01.jpg","May 28, 2026",{"id":15,"title":16,"description":17,"image":18,"date":13},"curso-gcp-ai-ops-02","Vertex AI para AIOps: AutoML y Despliegue | Curso AIOps","Módulo 2: Gestión de modelos con Vertex AI para AIOps. Aprende a utilizar AutoML, gestionar datasets tabulares y desplegar endpoints de predicción.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-02.jpg",{"id":20,"title":21,"description":22,"image":23,"date":13},"curso-gcp-ai-ops-03","Observabilidad Inteligente en GCP | Curso AIOps","Módulo 3: Observabilidad Inteligente en GCP. Configuración de Cloud Monitoring, Cloud Logging y creación de dashboards predictivos correlacionados con BigQuery.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-03.jpg",{"id":25,"title":26,"description":27,"image":28,"date":13},"curso-gcp-ai-ops-04","Automatización Operativa y Remediación | Curso AIOps","Módulo 4: Automatización Operativa en AIOps. Aprende a crear arquitecturas dirigidas por eventos con Cloud Functions y Pub/Sub para la remediación automática.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-04.jpg",1783009252602]