Les déclencheurs GitHub vous permettent de compiler automatiquement des demandes de dépôt et d'extraction Git, et d'afficher vos résultats de compilation sur GitHub et dans la console. De plus, les déclencheurs GitHub sont compatibles avec toutes les fonctionnalités compatibles avec les déclencheurs GitHub existants et utilisent l'application GitHub Cloud Build pour configurer et s'authentifier auprès de GitHub.
Cette page explique comment créer des déclencheurs GitHub et compiler sur GitHub à l'aide de l'application Cloud Build GitHub.
Avant de commencer
-
Activez l'API Cloud Build
- Suivez les instructions pour vous connecter à un dépôt GitHub pour installer l'application GitHub Cloud Build.
Créer un déclencheur GitHub
Console
Pour créer des déclencheurs GitHub à l'aide de Google Cloud Console, procédez comme suit:
Ouvrez la page Déclencheurs de Google Cloud Console.
Sélectionnez votre projet dans le menu déroulant du sélecteur de projet, en haut de la page.
Cliquez sur Ouvrir.
Cliquez sur Créer un déclencheur.
Entrez les paramètres de déclencheur suivants :
Nom : saisissez le nom de votre déclencheur.
Région : sélectionnez la région de votre déclencheur.
- Si vous sélectionnez global comme région, Cloud Build utilise le pool par défaut pour exécuter votre compilation.
- Si vous sélectionnez une région non globale et que le fichier de configuration de compilation associé au déclencheur spécifie un pool privé, Cloud Build utilise le pool privé pour exécuter votre compilation. Dans ce cas, la région spécifiée dans votre déclencheur doit correspondre à celle dans laquelle vous avez créé votre pool privé.
- Si vous sélectionnez une région non globale et que le fichier de configuration de compilation associé au déclencheur ne spécifie pas de pool privé, Cloud Build utilise le pool par défaut pour exécuter votre compilation dans la même région que votre déclencheur.
Description (facultative) : saisissez une description du déclencheur.
Événement : sélectionnez l'événement lié au dépôt qui appelle votre déclencheur.
Déployer sur une branche : configurez votre déclencheur pour lancer une compilation sur les commits réalisés dans une branche spécifique.
Transférer le nouveau tag : configurez votre déclencheur pour lancer une compilation sur des commits contenant un tag particulier.
Demande d'extraction (Cloud Source Repositories non compatible): définissez votre déclencheur pour démarrer une compilation sur les commits d'une demande d'extraction.
Source : sélectionnez le dépôt et la branche ou le tag correspondants pour surveiller les événements.
Dépôt : sélectionnez le dépôt de votre choix dans la liste des dépôts disponibles. Pour connecter un nouveau dépôt, consultez la section Connecter des dépôts supplémentaires.
Branche ou tag : spécifiez une expression régulière à laquelle faire correspondre la valeur de la branche ou du tag. Pour en savoir plus sur la syntaxe des expressions régulières acceptables, consultez la page Syntaxe RE2.
Contrôle des commentaires : si vous avez sélectionné Demande d'extraction (application GitHub uniquement) comme événement, choisissez l'une des options suivantes pour contrôler si une compilation doit être exécutée automatiquement par le déclencheur :
Obligatoire, sauf pour les propriétaires et les collaborateurs : lorsqu'une demande d'extraction est créée ou mise à jour par un propriétaire ou un collaborateur du dépôt, les compilations sont automatiquement exécutées par le déclencheur. Si un contributeur externe lance l'action, les compilations ne seront exécutées qu'après que le propriétaire ou le collaborateur a ajouté
/gcbrun
à la demande d'extraction.Obligatoire : lorsqu'une demande d'extraction est créée ou mise à jour par un contributeur, les compilations ne sont exécutées qu'après que le propriétaire ou le collaborateur a ajouté
/gcbrun
à la demande d'extraction. Les builds sont exécutés chaque fois qu'une requête d'extraction est modifiée.Non requis : lorsqu'une demande d'extraction est créée ou mise à jour par un contributeur, les compilations sont automatiquement exécutées par des déclencheurs.
Fichiers inclus (facultatif) : les modifications affectant au moins l'un de ces fichiers déclencheront une compilation.
Fichiers ignorés (facultatif) : les modifications affectant uniquement des fichiers ignorés ne déclencheront pas de compilation.
Configuration : sélectionnez le fichier de configuration de compilation situé dans votre dépôt distant ou créez un fichier de configuration de compilation intégré à utiliser pour votre compilation.
- Type: sélectionnez le type de configuration à utiliser pour votre compilation.
- Fichier de configuration Cloud Build (yaml or json) : utilisez un fichier de configuration de compilation pour votre configuration.
- Dockerfile : utilisez un fichier
Dockerfile
pour votre configuration.
Emplacement : spécifiez l'emplacement de votre configuration.
- Dépôt : si votre fichier de configuration se trouve dans votre dépôt distant, indiquez l'emplacement de votre fichier de configuration de compilation ou le répertoire
Dockerfile
et un nom pour l'image obtenue. Si votre configuration est unDockerfile
, vous pouvez éventuellement fournir un délai d'expiration pour votre compilation. Une fois le fichierDockerfile
et le nom de l'image fournis, vous obtenez un aperçu de la commandedocker build
que votre compilation va exécuter. - Intégré: si vous avez sélectionné Fichier de configuration Cloud Build (yaml ou json) comme option de configuration, vous pouvez spécifier votre configuration de compilation de manière intégrée. Cliquez sur Open Editor (Ouvrir l'éditeur) pour écrire votre fichier de configuration de compilation dans Google Cloud Console à l'aide de la syntaxe YAML ou JSON. Cliquez sur OK pour enregistrer la configuration de compilation.
- Dépôt : si votre fichier de configuration se trouve dans votre dépôt distant, indiquez l'emplacement de votre fichier de configuration de compilation ou le répertoire
- Type: sélectionnez le type de configuration à utiliser pour votre compilation.
Cliquez sur Créer pour enregistrer le déclencheur de compilation.
Pour créer des déclencheurs GitHub à l'aide des commandes gcloud
, consultez les commandes gcloud
de la page Créer un déclencheur de compilation.
gcloud
Pour créer des déclencheurs GitHub à l'aide des commandes gcloud
, exécutez la commande suivante :
gcloud beta builds triggers create github \
--repo-name=REPO_NAME \
--repo-owner=REPO_OWNER \
--branch-pattern=BRANCH_PATTERN \ # or --tag-pattern=TAG_PATTERN
--build-config=BUILD_CONFIG_FILE \
--include-logs-with-status
Où :
- REPO_NAME est le nom du dépôt.
- REPO_OWNER est le nom d'utilisateur du propriétaire du dépôt.
- BRANCH_PATTERN est le nom de la branche de votre dépôt sur lequel appeler la compilation.
- TAG_PATTERN est le nom du tag de votre dépôt sur lequel appeler la compilation.
- BUILD_CONFIG_FILE correspond au chemin d'accès à votre fichier de configuration de compilation.
- [FACULTATIF]
--include-logs-with-status
est une option que vous pouvez spécifier pour afficher les journaux de compilation de vos dépôts. Cette option est compatible avec les compilations depuis GitHub et GitHub Enterprise. Pour savoir comment afficher les journaux de compilation, consultez Afficher les journaux de compilation.
Compiler et afficher vos modifications
Pour compiler à l'aide de déclencheurs GitHub, vous devez envoyer et valider des modifications dans votre dépôt source connecté, ou configurer votre compilation sur des demandes d'extraction. Une fois vos modifications validées, Cloud Build compile votre code.
Pour afficher vos modifications de compilation sur GitHub, accédez à l'onglet Vérifications de votre dépôt.
Cloud Build a compilé vos modifications. D'autres informations s'affichent également, telles que le temps nécessaire à la compilation du code, l'ID de la compilation, etc.
Pour afficher les modifications de votre compilation dans Cloud Build, cliquez sur Afficher plus de détails sur Google Cloud Build. La page Informations sur le build de la console s'ouvre. Vous pouvez y consulter des informations telles que l'état, les journaux et les étapes de compilation.
Différents types de déclencheurs basés sur GitHub
Si votre code source est dans GitHub, Cloud Build fournit deux méthodes pour exécuter automatiquement vos compilations. Vous trouverez dans cette section la description des deux déclencheurs basés sur GitHub ainsi qu'un comparatif de leurs fonctionnalités.
Anciens déclencheurs GitHub : lorsque vous créez un ancien déclencheur GitHub, Cloud Build met en miroir votre dépôt GitHub dans Cloud Source Repositories et utilise le dépôt en miroir pour toutes ses opérations. Vous pouvez créer et gérer des déclencheurs GitHub à l'aide de la console.
Déclencheurs GitHub : ce type de déclencheur utilise l'application GitHub Cloud Build pour configurer GitHub et s'authentifier auprès de ce service. Les déclencheurs GitHub vous permettent de démarrer automatiquement des compilations sur des demandes de transfert et d'extraction Git, et d'afficher les résultats de compilations sur GitHub et dans la console. Vous pouvez créer et gérer des déclencheurs GitHub depuis la console ou l'API Cloud Build, comme décrit sur cette page.
Déclencheurs GitHub Enterprise : ce type de déclencheur vous permet d'appeler des compilations en réponse à des commits ou des demandes d'extraction sur une instance GitHub Enterprise. Vous pouvez créer des dépôts à partir de GitHub Enterprise à l'aide de la console ou de l'API Cloud Build.
Le tableau suivant compare les anciens déclencheurs GitHub, les déclencheurs GitHub et les déclencheurs GitHub Enterprise :
Extraction | Anciens déclencheurs GitHub | Déclencheurs GitHub | Déclencheurs GitHub Enterprise |
---|---|---|---|
Exécution des compilations basée sur les opérations de publication de code source (push) | Yes | Yes | Yes |
Exécuter des compilations sur des demandes d'extraction | Non | Yes | Yes |
Créer un déclencheur à l'aide de la console | Yes | Yes | Yes |
Création d'un déclencheur à l'aide de l'API Cloud Build | Non | Yes | Yes |
Création d'un déclencheur à l'aide de l'application Cloud Build GitHub | Non | Yes | Yes |
Afficher l'état de la compilation dans la console | Yes | Yes | Yes |
Affichage de l'état de la compilation sur GitHub | Non | Yes | Yes |
Partage des données
Les déclencheurs GitHub envoient des données à l'application GitHub Cloud Build. Les données envoyées à l'application vous permettent d'identifier les déclencheurs par nom et d'afficher les résultats de compilation sur GitHub.
Les données suivantes sont actuellement partagées entre Google Cloud et l'application GitHub:
- ID du projet Cloud
- Trigger name
- Journaux de compilation
Si vous avez créé des déclencheurs avant le mois d'août 2020, le partage des données peut ne pas être activé pour votre projet. Vous pouvez activer le partage des données pour tous les déclencheurs GitHub de votre projet en cliquant sur Activer dans l'onglet de partage des données Cloud Build.
Si les vérifications d'état requises sont activées pour un dépôt GitHub, l'activation du partage des données peut interrompre temporairement les vérifications d'état. Vous pouvez ajuster les configurations de la vérification d'état pour rechercher le nom de votre déclencheur en procédant comme suit:
- Désactiver les vérifications requises spécifiques à Cloud Build dans le dépôt GitHub
- S'assurer que le partage des données est activé dans Cloud Build
- Exécuter une nouvelle compilation dans Cloud Build qui publie des états dans votre dépôt
- Réactivation des vérifications d'état requises en sélectionnant le nom du déclencheur
Étapes suivantes
- Découvrez comment créer et gérer des déclencheurs de compilation.