Cloud Build usa activadores de compilación para habilitar la automatización de CI/CD. Puedes configurar activadores para que detecten 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, ejecutar automáticamente una compilación cuando lleguen eventos nuevos. También puedes configurar activadores para compilar código ante cualquier cambio en tu repositorio de código fuente o solo ante 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 de repositorio
Cloud Build te permite ejecutar compilaciones automáticamente en eventos del repositorio, como solicitudes de extracción o envíos. Puedes conectar repositorios externos, como los de GitHub o Bitbucket, a Cloud Build, o bien usar código en Cloud Source Repositories para tus compilaciones. Si bien puedes conectar cualquier repositorio de origen a Cloud Build, Cloud Build proporciona activadores de eventos de repositorio específicos que puedes usar para integrar sistemas específicos de administración de código fuente (SCM). En esta sección, se analizan los activadores de eventos de repositorios 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 a las que no se puede acceder a través de una conexión pública a Internet. 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 Compilar repositorios de GitHub Enterprise.
Activadores de GitLab Enterprise Edition
Puedes crear activadores para repositorios alojados en una instancia de GitLab Enterprise Edition, 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 Compilar repositorios de GitLab Enterprise Edition.
Activadores de Bitbucket Server
Puedes crear activadores para repositorios alojados en una instancia de Bitbucket Server, incluidas las 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 Compila 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 confirmaciones 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 Bitbucket Cloud se pueden usar para ejecutar compilaciones en respuesta a eventos como envíos de confirmaciones o solicitudes de extracción. Para obtener más información, consulta Compilar repositorios de Bitbucket Cloud.
Activadores de Secure Source Manager
Puedes crear activadores para repositorios alojados en Secure Source Manager. Los activadores de Secure Source Manager se pueden usar para ejecutar compilaciones en respuesta a eventos como solicitudes de extracción o envíos de confirmaciones. Para obtener más información, consulta Crea un archivo de activadores en Secure Source Manager.
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 una programación. Para obtener más información, consulta Cómo compilar código de forma manual en repositorios de código fuente.
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 y ejecute 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 Automatiza 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 enviados a una URL personalizada te permiten conectar directamente sistemas externos y sistemas externos de administración de código fuente (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 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 webhook para compilar repositorios desde SCM específicos, consulta Compila repositorios desde Bitbucket Server, Compila repositorios desde Bitbucket Cloud y Compila repositorios desde GitLab.
Activadores para repositorios vinculados a Developer Connect
Developer Connect te permite conectar productos externos o herramientas para desarrolladores que no son de Google a Google Cloud con pasos y apps estandarizados. Puedes configurar activadores que se compilan a partir de repositorios conectados a través de Developer Connect para los siguientes SCM:
- Bitbucket Cloud
- Bitbucket Data Center
- Bitbucket Server
- GitHub
- GitHub Enterprise
- GitLab
- Gitlab Enterprise Edition
Capacidades de los activadores
Los activadores de Cloud Build proporcionan capacidades que te brindan un control detallado sobre cómo se ejecuta una compilación. En esta sección, se analizan varias capacidades asociadas a los activadores.
Activadores manuales programados
Puedes programar activadores manuales para que ejecuten compilaciones automáticamente según un programa predefinido. Por ejemplo, puedes 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 que se enumeran 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 que se encuentre en el recurso Build. 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 sustituir valores específicos en el tiempo de compilación. Por ejemplo, es posible que desees usar variables de sustitución si un valor no se conoce hasta el tiempo de 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 al nombre 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 poner en mayúscula letras o reemplazar una subcadena. 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 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 cargas útiles.
Aprobaciones
Puedes configurar activadores para que no ejecuten una compilación de inmediato, 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 requieren aprobación, consulta Cómo bloquear compilaciones hasta que se aprueben.
Notificaciones de estado de compilación
Puedes configurar los notificadores de Cloud Build para que escuchen las actualizaciones de eventos de compilación de Pub/Sub en el tema predeterminado cloud-builds o en un tema definido por el usuario.
Los notificadores también pueden filtrar los mensajes que recibe el tema y enviar mensajes a tus servicios conectados. 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 bien crear tu propio notificador.