Activadores de Cloud Build

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 envía una confirmación nueva a un repositorio o cuando se inicia una solicitud de extracción, y, luego, se ejecuta una compilación de forma automática cuando llegan eventos nuevos. También puedes configurar activadores para compilar código a partir de cualquier cambio que se realice en el 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 sus capacidades asociadas.

Activadores de eventos de repositorios

Cloud Build te permite ejecutar compilaciones de manera automática en eventos de repositorio, como envíos o solicitudes de extracción. Puedes conectar repositorios externos, como repositorios 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 código fuente a Cloud Build, Cloud Build proporciona activadores de eventos de repositorio específicos que puedes usar para integrar con facilidad 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 de manera automática en respuesta a eventos de repositorio, como envíos o solicitudes de extracción. Puedes ver el estado de compilación del activador en GitHub y Cloud Console. También puedes usar la app de GitHub de Cloud Build para conectarte y compilar código en GitHub. Para obtener más información, consulta Compila 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 a las que no se puede acceder 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 extracciones de una instancia de GitHub Enterprise. Para obtener más información, consulta Compila repositorios desde GitHub Enterprise.

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 invocación antes de ejecutar una compilación. También puedes configurar activadores manuales para que se ejecuten según una programación. Para obtener más información, consulta Crea activadores manuales.

Activadores de Pub/Sub

Puedes crear activadores de Pub/Sub para ejecutar compilaciones en respuesta a cualquier mensaje publicado a través de 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 a fin de 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 que se suscriban a cualquier tema de Pub/Sub. Para obtener más información, consulta Crea activadores de Pub/Sub.

Activadores de webhooks

Puedes crear activadores de webhook para ejecutar compilaciones en respuesta a webhooks. Los eventos de webhook enviados a una URL personalizada te permiten conectar de forma directa sistemas externos y sistemas de administración del código fuente externos (SCM), como Bitbucket.com, Bitbucket Server o GitLab, a Cloud Build. Cuando creas activadores de webhook, también puedes definir la configuración de compilación intercalada en el activador para controlar qué repositorios clona el activador durante el tiempo de compilación, en lugar de especificar de forma explícita una fuente. Para obtener más información, consulta Crea activadores de webhook. Además, si deseas aprender a usar activadores de webhook para compilar repositorios a partir de SCM específicas, consulta Compila repositorios desde Bitbucket Server, Compila repositorios desde Bitbucket Cloud y Compila repositorios desde GitLab.

Capacidades de activación

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 capacidades asociadas con los activadores.

Programa activadores manuales

Puedes programar activadores manuales para que ejecuten compilaciones de forma automática 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, invocar el activador mediante Cloud Scheduler. Para obtener más información, consulta Crea activadores programados.

Filtra eventos

Cloud Build usa Common Expression Language (CEL) con la variable build en los campos enumerados en el recurso Build para acceder. campos asociados con tu evento de compilación, como el ID del activador, la lista de imágenes o los valores de sustitución. Puedes usar la string filter para filtrar los eventos de compilación en el archivo de configuración de compilación mediante cualquier campo que se detalla en el recurso Build. Para obtener más información, consulta Cómo usar CEL para filtrar eventos de compilación

Variables de sustitución

Puedes especificar variables de sustitución en el archivo de configuración de tu compilación para sustituir valores específicos en el momento de la compilación. Por ejemplo, es posible que quieras usar variables de sustitución si no se conoce un valor hasta el momento de compilación o si quieres volver a usar una solicitud de compilación existente con diferentes variables. Cloud Build proporciona sustituciones predeterminadas que puedes usar para las compilaciones invocadas por activadores, como la asignación de variables a tu nombre de activador o nombre de 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 las expansiones de parámetros de Bash a valores de variables de sustitución. Las expansiones de parámetros de Bash te permiten manipular las strings asociadas con las variables existentes. Por ejemplo, puedes usar las expansiones de parámetros de Bash para escribir mayúsculas o reemplazar substrings. Para obtener más información, consulta Expansiones de parámetros de Bash.

Vinculaciones de carga útil

Puedes almacenar parte de la carga útil del evento de tu activador como una variable de sustitución mediante vinculaciones de carga útil. Las variables asociadas con una carga útil se conocen como vinculaciones y están disponibles para las compilaciones invocadas por eventos push y de 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.

Aprobar compilaciones

Puedes configurar los activadores para que no ejecuten inmediatamente una compilación, pero, en su lugar, marca una compilación como pendiente hasta que se apruebe. Si un usuario con permisos aprueba una compilación pendiente, se inicia la compilación. Si se rechaza la aprobación, la compilación no se inicia. Para obtener información sobre cómo configurar activadores que requieren aprobación, consulta Aprobar compilaciones.

Notificaciones de estado de las compilaciones

Puedes configurar los notificadores de Cloud Build para detectar actualizaciones de eventos de compilación desde el tema cloud-builds de Pub/Sub. Los notificadores también pueden filtrar los mensajes que recibe el tema y enviar mensajes al servicio deseado. Cloud Build proporciona y mantiene imágenes notificables implementables en el repositorio cloud-build-notifiers. Puedes configurar las notificaciones mediante un notificador de Cloud Build, como el siguiente:BigQuery ,HTTP ,Slack oSMTP oCrea tu propio notificador ,

¿Qué sigue?