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 vers un dépôt ou lorsqu'une demande d'extraction est lancée, exécuter automatiquement une compilation à l'arrivée de nouveaux événements. Vous pouvez également configurer des déclencheurs pour compiler du code suite à toute modification apportée à votre dépôt source ou uniquement des 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 permet d'exécuter automatiquement des compilations sur un dépôt comme les demandes d'extraction ou d'envoi. 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 les compilations en réponse à les événements du dépôt, tels que les demandes d'extraction ou d'extraction. Vous pouvez consulter l'état de la compilation 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 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 les 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 compilations en réponse à des requêtes push ou pull à partir d'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 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 de 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 du centre de données Bitbucket

Vous pouvez créer des déclencheurs pour les dépôts hébergés sur un centre de données Bitbucket y compris celles hébergées dans un environnement sur site. Bitbucket Les déclencheurs de centre de données permettent d'exécuter des compilations en réponse à des événements tels que de validations de requêtes push ou pull. 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. Bitbucket Les déclencheurs Cloud permettent d'exécuter des compilations en réponse à des événements tels que de validations de requêtes push ou pull. Pour en savoir plus, consultez 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 Déclencheurs Pub/Sub pour la compilation en réponse aux transferts d'images 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 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 à 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 Automatiser les compilations en réponse aux événements de webhook. De plus, pour apprendre à utiliser les déclencheurs de webhook afin de créer des dépôts à partir de des SCM spécifiques, consultez la section Créer des dépôts à partir de Bitbucket Server. Créer des dépôts à partir de Bitbucket Cloud Créer des dépôts à partir de GitLab

Fonctionnalités de déclenchement

Les déclencheurs Cloud Build offrent des capacités permettant d'obtenir de contrôler l'exécution d'une compilation. Cette section décrit les différentes fonctionnalités associées aux déclencheurs.

Déclencheurs manuels planifiés

Vous pouvez programmer des déclencheurs manuels pour qu'ils exécutent automatiquement les compilations sur programmation prédéfinie. 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 des systèmes d'alerte Cloud Build pour écouter l'événement de compilation sur le 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 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