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 envoyé 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 afin de compiler du code pour toute modification apportée à votre 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 associées.

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

Cloud Build vous permet d'exécuter automatiquement des compilations à partir d'événements de dépôt, tels que les requêtes push ou pull. 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, Source Code Management System) 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 permettent d'exécuter des compilations en réponse à des demandes de transfert ou d'extraction depuis une instance GitHub Enterprise. Pour en savoir plus, consultez 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 pour les instances hébergées sur un réseau privé. Les déclencheurs GitLab Enterprise Edition peuvent être utilisés pour exécuter des compilations en réponse aux demandes de validation (push) ou d'extraction (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 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 serveur Bitbucket à Cloud Build plusieurs fois avec plusieurs connexions hôtes. Pour en savoir plus sur la création de 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 de centre de données Bitbucket, y compris pour des instances hébergées dans un environnement sur site. Les déclencheurs du centre de données Bitbucket permettent d'exécuter des compilations en réponse à des événements tels que des validations push de commit ou des demandes 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 peuvent être utilisés pour exécuter des compilations en réponse à des événements tels que des validations push de commit ou des demandes 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 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 aux 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 transférée correspond à une balise spécifique, telle 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 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 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 dans votre déclencheur afin de contrôler les dépôts qu'il clone 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 les déclencheurs de webhook 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 qui vous permettent de contrôler précisément l'exécution d'une compilation. Cette section décrit 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 une programmation prédéfinie. Par exemple, vous pouvez configurer un déclencheur planifié pour 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 la section 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 pour accéder aux champs associés à votre événement de compilation, tels que l'ID de 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 Filtrer les événements de compilation à l'aide du CEL.

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 qu'ils la marquent comme en attente jusqu'à approbation. Si un utilisateur disposant des autorisations approuve une compilation en attente, la compilation démarre. Si l'approbation est refusée, la compilation ne démarre pas. Pour savoir comment configurer les déclencheurs nécessitant une approbation, consultez la section Le portail s'appuie sur l'approbation.

Notifications d'état de la compilation

Vous pouvez configurer des systèmes d'alerte Cloud Build pour écouter les mises à jour des é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