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 nueva confirmación a un repositorio o cuando se inicia una solicitud de extracción, y, a continuación, ejecutar automáticamente una compilación cuando se produzcan nuevos eventos. También puedes configurar activadores para compilar el código a partir de cualquier cambio en el repositorio de origen o solo a partir de los cambios que cumplan con ciertos criterios.
En esta página se ofrece una descripción general de cada tipo de activador y de las funciones asociadas a los activadores.
Activadores de eventos de repositorio
Cloud Build te permite ejecutar compilaciones automáticamente en eventos de repositorios, como inserciones o solicitudes de extracción. Puedes conectar repositorios externos, como repositorios de GitHub o Bitbucket, a Cloud Build o usar código de Cloud Source Repositories en tus compilaciones. Aunque 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 de gestión de código fuente (SCMs) concretos. En esta sección se describen los activadores de eventos de repositorio disponibles.
Activadores de GitHub
Puedes crear activadores de GitHub para ejecutar compilaciones automáticamente en respuesta a eventos de repositorios, como inserciones o solicitudes de extracción. Puedes ver el estado de compilación del activador en GitHub y en la Google Cloud consola. También puedes usar la aplicación de GitHub para Cloud Build para conectar y compilar código en GitHub. Para obtener más información, consulta Crear 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 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 inserciones o solicitudes de extracción de una instancia de GitHub Enterprise. Para obtener más información, consulta Crear repositorios desde 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 inserciones de confirmaciones o solicitudes de extracción asociadas a tu repositorio de GitLab Enterprise Edition. Para obtener más información, consulta el artículo Crear repositorios desde 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 Crear 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 las inserciones de confirmaciones o las solicitudes de extracción. Para obtener más información, consulta Crear 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 inserciones de confirmaciones o solicitudes de extracción. Para obtener más información, consulta Crear repositorios desde Bitbucket Cloud.
Activadores manuales
Puedes crear activadores manuales para ejecutar compilaciones manualmente y anular los valores de las variables de sustitución definidas 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 Compilar código manualmente 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 las inserciones de imágenes en Artifact Registry. En este caso, puedes configurar el activador para que use filtros y ejecute una compilación solo si la imagen insertada 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 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 enviados a una URL personalizada te permiten conectar directamente sistemas externos y sistemas de gestión de código fuente (SCMs) externos, como Bitbucket.com, Bitbucket Server o GitLab, a Cloud Build. Cuando crees activadores de webhook, también puedes definir la configuración de compilación en línea 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 Automatizar compilaciones en respuesta a eventos de webhook. Además, para aprender a usar activadores de webhook para compilar repositorios de SCMs específicos, consulta los artículos Crear repositorios desde Bitbucket Server, Crear repositorios desde Bitbucket Cloud y Crear repositorios desde GitLab.
Activadores de repositorios vinculados a Developer Connect
Developer Connect te permite conectar productos externos o herramientas para desarrolladores que no sean de Google a Google Cloud mediante pasos y aplicaciones estandarizados. Puedes configurar activadores que se compilen a partir de repositorios conectados a través de Developer Connect para los siguientes SCMs:
- Bitbucket Cloud
- Bitbucket Data Center
- Bitbucket Server
- GitHub
- GitHub Enterprise
- GitLab
- GitLab Enterprise Edition
Funciones de activación
Los activadores de Cloud Build ofrecen funciones que te permiten controlar con precisión cómo se ejecuta una compilación. En esta sección se describen varias funciones asociadas a los activadores.
Activadores manuales programados
Puedes programar activadores manuales para que ejecuten compilaciones automáticamente según una programación predefinida. Por ejemplo, puede configurar un activador programado para que ejecute una compilación todos los sábados a las 6:00. Para programar compilaciones, puede crear un activador manual e invocarlo mediante Cloud Scheduler. Para obtener más información, consulta Programar compilaciones.
Filtrar eventos
Cloud Build usa el lenguaje de expresión común (CEL) con la variable build
en los campos que se indican en el recurso Build para acceder a los campos asociados a tu 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 eventos de compilación en tu archivo de configuración de compilación usando cualquier campo que aparezca en el recurso Compilación. Para obtener más información, consulta Usar CEL para filtrar eventos de compilaciones.
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 momento de la compilación. Por ejemplo, puedes usar variables de sustitución si no conoces un valor hasta el momento de la compilación o si quieres reutilizar una solicitud de compilación con diferentes variables. Cloud Build proporciona sustituciones predeterminadas que puedes usar en las compilaciones invocadas por 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 Sustituir valores de variables.
Expansiones de parámetros de Bash
Puedes aplicar expansiones de parámetros bash a los valores de las variables de sustitución. Las expansiones de parámetros de Bash te permiten manipular cadenas asociadas a variables ya creadas. Por ejemplo, puedes usar expansiones de parámetros bash para poner letras en mayúsculas o sustituir 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 mediante enlaces de carga útil. Las variables asociadas a una carga útil se denominan enlaces y están disponibles para las compilaciones invocadas por eventos push y pull. Puedes usar enlaces 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 Enlaces de carga útil.
Aprobaciones
Puedes configurar los 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, esta se inicia. Si se rechaza la aprobación, la compilación no se inicia. Para consultar cómo configurar los activadores que requieren aprobación, consulta Restringir compilaciones con aprobación.
Notificaciones de estado de compilación
Puedes configurar los notifiers 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 recibidos por el tema y enviar mensajes a tus servicios conectados. Cloud Build proporciona y mantiene imágenes de notificador desplegables en el repositorio cloud-build-notifiers
.
Puedes configurar notificaciones mediante un notificador de Cloud Build, como BigQuery, HTTP, Slack o SMTP, o bien crear tu propio notificador.
Siguientes pasos
- Consulta cómo crear y gestionar activadores de compilación.