Aprovisiona recursos de Cloud Build con Terraform

HashiCorp Terraform es una herramienta de infraestructura como código (IaC) que te permite aprovisionar y administrar la infraestructura de nube. Terraform proporciona complementos llamados proveedores que te permiten interactuar con proveedores de servicios en la nube y otras APIs. Puedes usar el proveedor de Terraform para Google Cloud para aprovisionar y administrar recursos de Google Cloud , incluido Cloud Build.

En esta página, se presenta el uso de Terraform con Cloud Build, incluida una introducción a su funcionamiento y algunos recursos para comenzar a usarlo con Google Cloud. También encontrarás vínculos a documentos de referencia de Terraform para Cloud Build, ejemplos de código y guías para usar Terraform para aprovisionar recursos de Cloud Build.

Para obtener instrucciones sobre cómo comenzar a usar Terraform para Google Cloud, consulta Instala y configura Terraform o el Instructivo de Terraform para Google Cloud .

Cómo funciona Terraform

Terraform tiene una sintaxis declarativa y orientada a la configuración que puedes usar para describir la infraestructura que deseas aprovisionar en tu proyecto de Google Cloud . Después de crear esta configuración en uno o más archivos de configuración de Terraform, puedes usar la CLI de Terraform para aplicarla a tus recursos de Cloud Build.

En los siguientes pasos, se explica cómo funciona Terraform:

  1. Describes la infraestructura que deseas aprovisionar en un archivo de configuración de Terraform. No es necesario que escribas código que describa cómo aprovisionar la infraestructura. Terraform aprovisiona la infraestructura por ti.
  2. Ejecuta el comando terraform plan, que evalúa tu configuración y genera un plan de ejecución. Puedes revisar el plan y realizar cambios según sea necesario.
  3. Luego, ejecuta el comando terraform apply, que realiza las siguientes acciones:

    1. Aprovisiona tu infraestructura según tu plan de ejecución mediante la invocación de las APIs de Cloud Build correspondientes en segundo plano.
    2. Crea un archivo de estado de Terraform, que es un archivo JSON que asigna los recursos del archivo de configuración a los recursos de la infraestructura del mundo real. Terraform usa este archivo para mantener un registro del estado más reciente de tu infraestructura y determinar cuándo crear, actualizar y destruir recursos.
    3. Luego, cuando ejecutes terraform apply, Terraform usa la asignación en el archivo de estado para comparar la infraestructura existente con el código y realizar actualizaciones según sea necesario:

      • Si un objeto de recurso se define en el archivo de configuración, pero no existe en el archivo de estado, Terraform lo crea.
      • Si existe un objeto de recurso en el archivo de estado, pero tiene una configuración diferente de tu archivo de configuración, Terraform actualiza el recurso para que coincida con tu archivo de configuración.
      • Si un objeto de recurso en el archivo de estado coincide con tu archivo de configuración, Terraform deja el recurso sin cambios.

Recursos de Terraform para Cloud Build

Los recursos son los elementos fundamentales del lenguaje de Terraform. Cada bloque de recursos describe uno o más objetos de infraestructura, como redes virtuales o instancias de procesamiento.

En la siguiente tabla, se enumeran los recursos de Terraform disponibles para Cloud Build:

Servicio de Cloud Build Recursos de Terraform Fuentes de datos
Cloud Build v1 google_cloudbuild_trigger
Cloud Build v2 google_cloudbuildv2_connection_iam_policy

Guías basadas en Terraform para Cloud Build

En la siguiente tabla, se enumeran las guías prácticas y los instructivos basados en Terraform para Cloud Build:

Guía Detalles
Conéctate a un repositorio de GitHub En esta guía, se explica cómo conectar un repositorio de GitHub a Cloud Build con Terraform.
Cómo conectarse a un host de GitHub Enterprise En esta guía, se explica cómo conectar un host de GitHub Enterprise a Cloud Build con Terraform.
Conéctate a un repositorio de GitHub Enterprise En esta guía, se explica cómo conectar un repositorio de GitHub Enterprise a Cloud Build con Terraform.
Cómo conectarse a un host de GitLab Enterprise Edition En esta guía, se explica cómo conectar un host de la edición empresarial de GitLab a Cloud Build con Terraform.
Cómo conectarse a un repositorio de GitLab Enterprise Edition En esta guía, se explica cómo conectar un repositorio de GitLab Enterprise Edition a Cloud Build con Terraform.
Cómo conectarse a un host de Bitbucket Data Center En esta guía, se explica cómo conectar un host de Bitbucket Data Center a Cloud Build con Terraform.
Cómo conectarse a un repositorio de Bitbucket Data Center En esta guía, se explica cómo conectar un repositorio de Bitbucket Data Center a Cloud Build con Terraform.
Cómo conectarse a un host de Bitbucket Cloud En esta guía, se explica cómo conectar un host de Bitbucket Cloud a Cloud Build con Terraform.
Cómo conectarse a un repositorio de Bitbucket Cloud En esta guía, se explica cómo conectar un repositorio de Bitbucket Cloud a Cloud Build con Terraform.
Implementa en Compute Engine En esta guía, se explica cómo realizar implementaciones azul-verde sin tiempo de inactividad en grupos de instancias administradas (MIG) de Compute Engine con Cloud Build y Terraform.

Planos y módulos de Terraform para Cloud Build

Los módulos y los esquemas te ayudan a automatizar el aprovisionamiento y la administración de los recursos de Google Cloud a gran escala. Un módulo es un conjunto reutilizable de archivos de configuración de Terraform que crea una abstracción lógica de los recursos de Terraform. Un esquema es un paquete de módulos implementables y reutilizables, y una política que implementa y documenta una solución específica.

En la siguiente tabla, se enumeran los módulos y los esquemas relacionados con Cloud Build:

Módulo o esquema Detalles
Canalización de CI/CD segura Este módulo permite a los Google Cloud clientes implementar rápidamente una canalización de CI/CD segura, con la implementación de muchas de las funciones que se describen en Desplazarse hacia la izquierda en seguridad.
terraform-google-bootstrap Este módulo ayuda a iniciar una Google Cloud organización, creando todos los recursos y permisos necesarios para comenzar a usar el Cloud Foundation Toolkit (CFT). Para los usuarios que desean usar Cloud Build y Cloud Source Repositories para el código de Foundation, este módulo contiene un submódulo que inicia todos los recursos necesarios.

¿Qué sigue?