Cloud Build usa activadores de compilación para habilitar la automatización de CI/CD. Puedes configurar activadores para detectar eventos entrantes, como cuando se empuja una confirmación nueva a un repositorio o cuando se inicia una solicitud de extracción y, luego, ejecutar automáticamente una compilación cuando lleguen eventos nuevos. También puedes configurar activadores para compilar código a partir de cualquier cambio que se realice en tu repositorio de código fuente o solo a partir de los cambios que coincidan con ciertos criterios.
En esta página, se proporciona una descripción general de cada tipo de activador y las capacidades asociadas con ellos.
Activadores de eventos del repositorio
Cloud Build te permite ejecutar compilaciones automáticamente en eventos del repositorio, como envíos o solicitudes de extracción. Puedes conectar repositorios externos, como los de GitHub o Bitbucket, a Cloud Build o usar código en Cloud Source Repositories para tus compilaciones. Si bien puedes conectar cualquier repositorio de origen a Cloud Build, esta plataforma proporciona activadores de eventos del repositorio específicos que puedes usar para integrar sistemas de administración de código fuente (SCM) específicos. En esta sección, se analizan los activadores de eventos del repositorio disponibles.
Activadores de GitHub
Puedes crear activadores de GitHub para ejecutar compilaciones automáticamente en respuesta a eventos del repositorio, como envíos o solicitudes de extracción. Puedes ver el estado de compilación del activador en GitHub y la consola de Google Cloud. También puedes usar la app de GitHub de Cloud Build para conectar y compilar código en GitHub. Para obtener más información, consulta Cómo compilar repositorios desde GitHub.
Activadores de GitHub Enterprise
Puedes crear activadores para repositorios alojados en una instancia de GitHub Enterprise, incluidas las instancias alojadas en un entorno local y que no se pueden alcanzar a través de una conexión a Internet pública. Los activadores de GitHub Enterprise se pueden usar para ejecutar compilaciones en respuesta a envíos o solicitudes de extracción desde una instancia de GitHub Enterprise. Para obtener más información, consulta Cómo compilar repositorios desde GitHub Enterprise.
Activadores de GitLab Enterprise Edition
Puedes crear activadores para repositorios alojados en una instancia de la Edición Empresarial de GitHub, incluidas las instancias alojadas en una red privada. Los activadores de GitLab Enterprise Edition se pueden usar para ejecutar compilaciones en respuesta a envíos de confirmaciones o solicitudes de extracción asociadas con tu repositorio de GitLab Enterprise Edition. Para obtener más información, consulta Cómo compilar repositorios de GitLab Enterprise Edition.
Activadores de Bitbucket Server
Puedes crear activadores para repositorios alojados en una instancia de Bitbucket Server, incluso instancias alojadas en un entorno local. Puedes conectar tu repositorio de Bitbucket Server a Cloud Build varias veces con varias conexiones de host. Para obtener más información sobre cómo crear activadores para ejecutar compilaciones en respuesta a eventos, consulta Cómo compilar repositorios desde Bitbucket Server.
Activadores de Bitbucket Data Center
Puedes crear activadores para repositorios alojados en una instancia de Bitbucket Data Center, incluidas las instancias alojadas en un entorno local. Los activadores de Bitbucket Data Center se pueden usar para ejecutar compilaciones en respuesta a eventos, como envíos de confirmación o solicitudes de extracción. Para obtener más información, consulta Cómo compilar repositorios desde Bitbucket Data Center.
Activadores de Bitbucket Cloud
Puedes crear activadores para repositorios alojados en Bitbucket Cloud. Los activadores de Cloud de Bitbucket se pueden usar para ejecutar compilaciones en respuesta a eventos, como solicitudes de extracción o envíos de confirmación. Para obtener más información, consulta Cómo compilar repositorios de Bitbucket Cloud.
Activadores manuales
Puedes crear activadores manuales para ejecutar compilaciones de forma manual y anular los valores de variables de sustitución definidos en el momento de la invocación antes de ejecutar una compilación. También puedes configurar activadores manuales para que se ejecuten según un programa. Para obtener más información, consulta Cómo compilar código de forma manual en repositorios de origen.
Activadores de Pub/Sub
Puedes crear activadores de Pub/Sub para ejecutar compilaciones en respuesta a
cualquier mensaje publicado en Pub/Sub. Por ejemplo, puedes usar
activadores de Pub/Sub para compilar en respuesta a envíos de imágenes a
Artifact Registry. En este caso, puedes configurar el activador para que use filtros para ejecutar una compilación solo si la imagen enviada coincide con una etiqueta específica, como prod
.
Además, los activadores de Pub/Sub se pueden configurar para suscribirse a cualquier tema de Pub/Sub. Para obtener más información, consulta Cómo automatizar compilaciones en respuesta a eventos de Pub/Sub.
Activadores de webhook
Puedes crear activadores de webhook para ejecutar compilaciones en respuesta a webhooks. Los eventos de webhook que se envían a una URL personalizada te permiten conectar directamente sistemas externos y sistemas de administración de código fuente externos (SCM), como Bitbucket.com, Bitbucket Server o GitLab, a Cloud Build. Cuando creas activadores de webhook, también puedes definir tu configuración de compilación intercalada en el activador para controlar qué repositorios clona tu activador durante el tiempo de compilación en lugar de especificar una fuente de forma explícita. Para obtener más información, consulta Cómo automatizar compilaciones en respuesta a eventos de webhook. Además, para aprender a usar activadores de webhooks para compilar repositorios desde SCMs específicas, consulta Cómo compilar repositorios desde Bitbucket Server, Cómo compilar repositorios desde Bitbucket Cloud y Cómo compilar repositorios desde GitLab.
Capacidades de los activadores
Los activadores de Cloud Build proporcionan funciones que te brindan un control detallado sobre cómo se ejecuta una compilación. En esta sección, se analizan varias funciones asociadas con los activadores.
Activadores manuales programados
Puedes programar activadores manuales para que ejecuten compilaciones automáticamente en un programa predefinido. Por ejemplo, es posible que desees configurar un activador programado para ejecutar una compilación todos los sábados a las 6:00 a.m. Para programar compilaciones, puedes crear un activador manual y, luego, invocarlo con Cloud Scheduler. Para obtener más información, consulta Programa compilaciones.
Cómo filtrar eventos
Cloud Build usa Common Expression Language (CEL) con la variable build
en los campos enumerados en el recurso Build para acceder a los campos asociados con el evento de compilación, como el ID del activador, la lista de imágenes o los valores de sustitución. Puedes usar la cadena filter
para filtrar los eventos de compilación en tu archivo de configuración de compilación con cualquier campo enumerado en el recurso compilación. Para obtener más información, consulta Usa CEL para filtrar eventos de compilación.
Variables de sustitución
Puedes especificar variables de sustitución en el archivo de configuración de compilación para reemplazar valores específicos en el momento de la compilación. Por ejemplo, es posible que desees usar variables de sustitución si un valor no se conoce hasta el momento de la compilación o si deseas volver a usar una solicitud de compilación existente con diferentes variables. Cloud Build proporciona sustituciones predeterminadas que puedes usar para las compilaciones que invocan los activadores, como variables que se asignan al nombre del activador o del repositorio. También puedes definir tus propias variables de sustitución. Para obtener más información, consulta Sustituye valores de variables.
Expande los parámetros de Bash
Puedes aplicar expansiones de parámetros de Bash a valores de variables de sustitución. Las expansiones de parámetros de Bash te permiten manipular cadenas asociadas con variables existentes. Por ejemplo, puedes usar expansiones de parámetros de bash para escribir mayúsculas o reemplazar una substring. Para obtener más información, consulta Expansiones de parámetros de Bash.
Vinculaciones de carga útil
Puedes almacenar parte de la carga útil de eventos del activador como una variable de sustitución con vinculaciones de carga útil. Las variables asociadas con una carga útil se conocen como vinculaciones y están disponibles para compilaciones invocadas por eventos de envío y extracción. Puedes usar vinculaciones para acceder a datos adicionales relacionados con tu compilación, como el autor de una solicitud de extracción. Para obtener más información, consulta Vinculaciones de carga útil.
Aprobaciones
Puedes configurar activadores para que no ejecuten una compilación de forma inmediata, sino que marquen una compilación como pendiente hasta que se apruebe. Si un usuario con permisos aprueba una compilación pendiente, la compilación comenzará. Si se rechaza la aprobación, la compilación no se iniciará. Para aprender a configurar activadores que requieran aprobación, consulta Cómo restringir compilaciones a la espera de aprobación.
Notificaciones de estado de compilación
Puedes configurar los notificadores de Cloud Build para que escuchen las actualizaciones de eventos de compilación desde el tema cloud-builds
de Pub/Sub. Los notificadores también puedenfiltrar los mensajes que recibe el tema y enviar mensajes a tus serviciosconectados. Cloud Build proporciona y mantiene imágenes implementables del notificador en el repositorio cloud-build-notifiers
.
Puedes configurar notificaciones con un notificador de Cloud Build, como BigQuery, HTTP, Slack o SMTP, o crear tu propio notificador.