Déclencheurs Cloud Build

Cloud Build utilise des déclencheurs de compilation pour activer l'automatisation CI/CD. Vous pouvez configurer des déclencheurs pour écouter les événements entrants, par exemple lorsqu'un nouveau commit est transféré vers un dépôt ou lorsqu'une demande d'extraction est lancée, puis exécuter automatiquement une compilation lorsque de nouveaux événements arrivent. Vous pouvez également configurer des déclencheurs pour créer du code en cas de modification de votre dépôt source ou uniquement pour les modifications correspondant à certains critères.

Cette page présente chaque type de déclencheur et chaque fonctionnalité associée.

Déclencheurs d'événements du dépôt

Cloud Build vous permet d'exécuter automatiquement des compilations sur des événements de dépôt, tels que des demandes de transfert ou d'extraction. Vous pouvez connecter des dépôts externes, tels que des dépôts dans GitHub ou Bitbucket, à Cloud Build ou utiliser du code dans Cloud Source Repositories pour vos compilations. Bien que vous puissiez connecter n'importe quel dépôt source à Cloud Build, Cloud Build fournit des déclencheurs d'événements de dépôt spécifiques que vous pouvez utiliser pour intégrer des systèmes de gestion de code source (SCM) spécifiques. Cette section traite des déclencheurs d'événements de dépôt disponibles.

Déclencheurs GitHub

Vous pouvez créer des déclencheurs GitHub pour exécuter automatiquement des compilations en réponse aux événements de dépôt, tels que des requêtes push ou pull. Vous pouvez afficher l'état de la compilation du déclencheur sur GitHub et dans la console Google Cloud. Vous pouvez également utiliser l'application GitHub Cloud Build pour connecter et compiler du code dans GitHub. Pour en savoir plus, consultez la section Créer des dépôts à partir de GitHub.

Déclencheurs GitHub Enterprise

Vous pouvez créer des déclencheurs pour les dépôts hébergés sur une instance GitHub Enterprise, y compris des instances hébergées dans un environnement sur site et non accessibles via une connexion Internet publique. Les déclencheurs GitHub Enterprise peuvent être utilisés pour exécuter des compilations en réponse à des requêtes push ou pull à partir d'une instance GitHub Enterprise. Pour en savoir plus, consultez la section Créer des dépôts à partir de GitHub Enterprise.

Déclencheurs GitLab Enterprise Edition

Vous pouvez créer des déclencheurs pour les dépôts hébergés sur une instance GitLab Enterprise Edition, y compris des instances hébergées dans un réseau privé. Les déclencheurs GitLab Enterprise Edition peuvent être utilisés pour exécuter des compilations en réponse à des transferts de commits ou à des demandes d'extraction associés à votre dépôt GitLab Enterprise Edition. Pour en savoir plus, consultez la section Créer des dépôts à partir de GitLab Enterprise Edition.

Déclencheurs Bitbucket Server

Vous pouvez créer des déclencheurs pour les dépôts hébergés sur une instance Bitbucket Server, y compris des instances hébergées dans un environnement sur site. Vous pouvez connecter votre dépôt Bitbucket Server à Cloud Build plusieurs fois avec plusieurs connexions hôtes. Pour savoir comment créer des déclencheurs pour exécuter des compilations en réponse à des événements, consultez la section Créer des dépôts à partir de Bitbucket Server.

Déclencheurs Bitbucket Data Center

Vous pouvez créer des déclencheurs pour les dépôts hébergés sur une instance Bitbucket Data Center, y compris des instances hébergées dans un environnement sur site. Les déclencheurs Bitbucket Data Center peuvent être utilisés pour exécuter des compilations en réponse à des événements tels que des transferts de commits ou des demandes d'extraction. Pour en savoir plus, consultez la section Créer des dépôts à partir du centre de données Bitbucket.

Déclencheurs Bitbucket Cloud

Vous pouvez créer des déclencheurs pour les dépôts hébergés dans Bitbucket Cloud. Les déclencheurs Bitbucket Cloud peuvent être utilisés pour exécuter des compilations en réponse à des événements tels que des transferts de commits ou des requêtes pull. Pour en savoir plus, consultez la section Créer des dépôts depuis Bitbucket Cloud.

Déclencheurs manuels

Vous pouvez créer des déclencheurs manuels pour exécuter des compilations manuellement et remplacer les valeurs des variables de substitution définies au moment de l'appel avant d'exécuter une compilation. Vous pouvez également configurer des déclencheurs manuels pour qu'ils s'exécutent selon un calendrier. Pour en savoir plus, consultez la section Compiler manuellement du code dans des dépôts sources.

Déclencheurs Pub/Sub

Vous pouvez créer des déclencheurs Pub/Sub pour exécuter des compilations en réponse à n'importe quel message publié via Pub/Sub. Par exemple, vous pouvez utiliser des déclencheurs Pub/Sub pour créer des images en réponse à leur transfert vers Artifact Registry. Dans ce cas, vous pouvez configurer votre déclencheur de manière à utiliser des filtres pour exécuter une compilation uniquement si l'image transférée correspond à un tag spécifique, tel que prod. De plus, les déclencheurs Pub/Sub peuvent être configurés pour s'abonner à n'importe quel sujet Pub/Sub. Pour en savoir plus, consultez la section Automatiser les builds en réponse à des événements Pub/Sub.

Déclencheurs de webhook

Vous pouvez créer des déclencheurs de webhook afin d'exécuter des compilations en réponse aux webhooks. Les événements de webhook envoyés à une URL personnalisée vous permettent de connecter directement des systèmes externes et des systèmes de gestion de code source (SCM) externes, tels que Bitbucket.com, Bitbucket Server ou GitLab, à Cloud Build. Lorsque vous créez des déclencheurs de webhook, vous pouvez également définir votre configuration de compilation de manière intégrée à votre déclencheur pour contrôler les dépôts que votre déclencheur clone lors de la compilation plutôt que de spécifier explicitement une source. Pour en savoir plus, consultez la section Automatiser les builds en réponse aux événements de webhook. De plus, pour découvrir comment utiliser des déclencheurs de webhook pour créer des dépôts à partir de SCM spécifiques, consultez les pages Créer des dépôts à partir de Bitbucket Server, Créer des dépôts à partir de Bitbucket Cloud et Créer des dépôts de GitLab.

Fonctionnalités de déclenchement

Les déclencheurs Cloud Build fournissent des fonctionnalités qui vous permettent de contrôler avec précision la manière dont une compilation est exécutée. Cette section décrit les différentes fonctionnalités associées aux déclencheurs.

Déclencheurs manuels planifiés

Vous pouvez planifier des déclencheurs manuels pour exécuter automatiquement les compilations selon un calendrier prédéfini. Par exemple, vous pouvez configurer un déclencheur planifié pour exécuter une compilation tous les samedis à 6h. Pour planifier des compilations, vous pouvez créer un déclencheur manuel et appeler le déclencheur à l'aide de Cloud Scheduler. Pour en savoir plus, consultez la section Planifier des compilations.

Filtrer des événements

Cloud Build utilise le CEL avec la variable, build, sur les champs répertoriés dans la ressource Compilation afin d'accéder aux champs associés à votre événement de compilation, tels que votre ID de déclencheur, votre liste d'images, ou vos valeurs de substitution. Vous pouvez utiliser la chaîne filter pour filtrer les événements de compilation dans votre fichier de configuration de compilation à l'aide de n'importe quel champ répertorié dans la ressource Compilation. Pour en savoir plus, consultez la section Utiliser le CEL pour filtrer les événements de compilation.

Variables de substitution

Vous pouvez spécifier des variables de substitution dans votre fichier de configuration de compilation pour remplacer des valeurs spécifiques au moment de la compilation. Par exemple, vous pouvez utiliser des variables de substitution si vous ne connaissez pas la valeur avant la compilation ou si vous souhaitez réutiliser une requête de compilation existante avec différentes variables. Cloud Build fournit des substitutions par défaut que vous pouvez utiliser pour les compilations appelées par des déclencheurs, telles que des mappages de variables vers le nom de votre déclencheur ou le nom de votre dépôt. Vous pouvez également définir vos propres variables de substitution. Pour en savoir plus, consultez la section Remplacer les valeurs des variables.

Extension des paramètres bash

Vous pouvez appliquer des extensions de paramètres bash aux valeurs des variables de substitution. Les extensions de paramètres bash vous permettent de manipuler des chaînes associées à des variables existantes. Par exemple, vous pouvez utiliser des extensions de paramètres bash pour mettre des majuscules ou remplacer une sous-chaîne. Pour en savoir plus, consultez la section Expansions des paramètres bash.

Liaisons de charge utile

Vous pouvez stocker une partie de la charge utile d'un événement de déclencheur en tant que variable de substitution à l'aide de liaisons de charge utile. Les variables associées à une charge utile sont appelées liaisons et sont disponibles pour les compilations appelées par des événements push et pull. Vous pouvez utiliser des liaisons pour accéder à des données supplémentaires liées à votre compilation, telles que l'auteur d'une demande d'extraction. Pour en savoir plus, consultez la section Liaisons de charge utile.

Approbations

Vous pouvez configurer les déclencheurs pour ne pas exécuter immédiatement une compilation, mais marquer une compilation comme en attente jusqu'à ce qu'elle soit approuvée. Si un utilisateur disposant d'autorisations approuve une compilation en attente, celle-ci démarre. Si l'approbation est refusée, la compilation ne démarre pas. Pour savoir comment configurer des déclencheurs nécessitant une approbation, consultez la page Contrôler les compilations en cas d'approbation.

Notifications d'état de la compilation

Vous pouvez configurer les systèmes d'alerte Cloud Build pour écouter les mises à jour des événements de compilation à partir du sujet cloud-builds Pub/Sub. Les systèmes d'alerte peuvent également filtrer les messages reçus par le sujet et envoyer des messages à vos services connectés. Cloud Build fournit et gère des images de système d'alerte déployables dans le dépôt cloud-build-notifiers. Vous pouvez configurer des notifications à l'aide d'un système d'alerte Cloud Build, par exemple BigQuery, HTTP, Slack ou SMTP, ou créer votre propre système d'alerte.

Étape suivante