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, tels que l'envoi d'un nouveau commit dans un dépôt ou le lancement d'une demande d'extraction;extraction, puis exécuter automatiquement une compilation lorsque de nouveaux événements arrivent. Vous pouvez également configurer des déclencheurs pour compiler du code pour toute modification apportée au dépôt source ou uniquement pour les modifications correspondant à certains critères.

Cette page présente chaque type de déclencheur et les fonctionnalités qui y sont associées.

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 requêtes push ou pull. Vous pouvez connecter des dépôts externes, tels que des dépôts 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, ce service 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 à des événements de dépôt, tels que des demandes d'envoi ou d'extraction. Vous pouvez afficher l'état de compilation du déclencheur sur GitHub et dans la console Google Cloud. Vous pouvez également utiliser l'application GitHub Cloud Build pour vous connecter et compiler du code dans GitHub. Pour en savoir plus, consultez la page 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 inaccessibles via une connexion Internet publique. Les déclencheurs GitHub Enterprise peuvent être utilisés pour exécuter des builds en réponse à des requêtes push ou pull d'une instance GitHub Enterprise. Pour en savoir plus, consultez la page Créer des dépôts à partir de GitHub Enterprise.

Déclencheurs de 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 pour les 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 requêtes de commit de type push ou pull associées à votre dépôt GitLab Enterprise Edition. Pour en savoir plus, consultez la page Créer des dépôts à partir de GitLab Enterprise Edition.

Déclencheurs Bitbucket Server

Vous pouvez créer des déclencheurs pour des 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 de serveur Bitbucket à Cloud Build plusieurs fois avec plusieurs connexions hôtes. Pour savoir comment créer des déclencheurs afin d'exécuter des compilations en réponse à des événements, consultez la page Créer des dépôts à partir de Bitbucket Server.

Déclencheurs du centre de données Bitbucket

Vous pouvez créer des déclencheurs pour les dépôts hébergés sur une instance du centre de données Bitbucket, y compris des instances hébergées dans un environnement sur site. Les déclencheurs du centre de données Bitbucket peuvent être utilisés pour exécuter des compilations en réponse à des événements tels que des demandes de commit (push) ou d'extraction. Pour en savoir plus, consultez la page 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 permettent d'exécuter des compilations en réponse à des événements tels que des demandes de commit (push) ou d'extraction. Pour en savoir plus, consultez la page Créer des dépôts à partir de 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 compiler en réponse à des transferts d'images vers Artifact Registry. Dans ce cas, vous pouvez configurer votre déclencheur pour qu'il utilise des filtres afin d'exécuter une compilation uniquement si l'image envoyé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 page Automatiser les compilations en réponse aux événements Pub/Sub.

Déclencheurs de webhook

Vous pouvez créer des déclencheurs de webhooks pour exécuter des compilations en réponse à des webhooks. Les événements de webhook envoyés à une URL personnalisée vous permettent de connecter directement à Cloud Build des systèmes externes et des systèmes de gestion de code source (SCM) externes, tels que Bitbucket.com, Bitbucket Server ou GitLab. Lorsque vous créez des déclencheurs de webhook, vous pouvez également définir votre configuration de compilation directement sur votre déclencheur afin de contrôler les dépôts clonés par votre déclencheur au moment de la compilation, au lieu de spécifier explicitement une source. Pour en savoir plus, consultez la section Automatiser les compilations en réponse aux événements de webhook. En outre, pour apprendre à utiliser des déclencheurs de webhooks afin de 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 à partir de GitLab.

Fonctionnalités de déclenchement

Les déclencheurs Cloud Build offrent des fonctionnalités vous permettant de contrôler précisément l'exécution d'une compilation. Cette section traite des différentes fonctionnalités associées aux déclencheurs.

Déclencheurs manuels programmés

Vous pouvez programmer des déclencheurs manuels pour qu'ils exécutent automatiquement des compilations selon une programmation prédéfinie. Par exemple, vous pouvez configurer un déclencheur planifié afin qu'il exécute une compilation tous les samedis à 6h. Pour planifier des compilations, vous pouvez créer un déclencheur manuel et l'appeler à l'aide de Cloud Scheduler. Pour en savoir plus, consultez Planifier des compilations.

Filtrer des événements

Cloud Build utilise le langage CEL (Common Expression Language) avec la variable build sur les champs répertoriés dans la ressource Build afin d'accéder aux champs associés à l'événement de compilation, tels que l'ID du déclencheur, la liste d'images ou les 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 Build. Pour en savoir plus, consultez Utiliser 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 des déclencheurs pour qu'ils n'exécutent pas immédiatement une compilation, mais les marquent comme en attente jusqu'à ce qu'ils soient approuvés. 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 Gate builds on Approval.

Notifications d'état de la compilation

Vous pouvez configurer des systèmes d'alerte Cloud Build pour écouter les mises à jour d'événements de compilation à partir du sujet Pub/Sub cloud-builds. 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 les notifications à l'aide d'un système d'alerte Cloud Build, tel que BigQuery, HTTP, Slack ou SMTP, ou créer votre propre système d'alerte.

Étapes suivantes