Cloud Build vous permet de créer des déclencheurs sur une instance GitHub Enterprise. Cette page explique comment utiliser des déclencheurs GitHub Enterprise pour appeler des compilations en réponse à des commits ou des demandes d'extraction à partir d'un dépôt GitHub Enterprise.
Découvrez les déclencheurs Cloud Build et les dépôts Cloud Build.
Avant de commencer
-
Enable the Cloud Build and Secret Manager APIs.
- Suivez les instructions pour connecter un hôte GitHub Enterprise.
- Suivez les instructions pour connecter un dépôt GitHub Enterprise.
Créer un déclencheur GitHub Enterprise
Cette section explique comment créer un déclencheur et l'associer à votre installation GitHub Enterprise. Si vous souhaitez utiliser GitHub Enterprise dans un réseau privé, consultez Créer des dépôts à partir de GitHub Enterprise dans un réseau privé pour obtenir des instructions supplémentaires.
Console
Pour créer des déclencheurs GitHub Enterprise à l'aide de la console Google Cloud:
Ouvrez la page Déclencheurs dans la console Google Cloud.
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 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 build. Dans ce cas, la région que vous spécifiez dans votre déclencheur doit correspondre à celle dans laquelle vous avez créé votre pool privé.
- Si le fichier de configuration de compilation associé au déclencheur ne spécifie pas de pool privé, Cloud Build utilise la version par défaut pour exécuter votre build dans la même région comme 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 : configurez votre déclencheur pour lancer une compilation sur les commits d'une demande d'extraction.
Source : sélectionnez 2nd generation (2e génération) comme source.
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 Se connecter à un dépôt GitHub Enterprise.
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 propriétaire de dépôt ou un collaborateur dont la description ou le commentaire contient
/gcbrun
, les compilations sont automatiquement exécutées par le déclencheur. 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.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.
- Détection automatique : Cloud Build détecte automatiquement votre type de configuration si vous disposez d'un fichier
cloudbuild.yaml
ouDockerfile
dans votre dépôt. - 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. - Buildpacks: utilisez des packs de création pour votre configuration.
- Détection automatique : Cloud Build détecte automatiquement votre type de configuration si vous disposez d'un fichier
Emplacement: spécifiez l'emplacement de votre configuration.
- Dépôt: si votre fichier de configuration se trouve dans votre
dans un dépôt distant, indiquez l'emplacement
fichier de configuration de compilation ou
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 Ouvrir l'éditeur pour écrire votre fichier de configuration de compilation dans le la console Google Cloud à 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
dans un dépôt distant, indiquez l'emplacement
fichier de configuration de compilation ou
- Type: sélectionnez le type de configuration à utiliser pour votre compilation.
Variables de substitution (facultatives) : si vous avez choisi un fichier de configuration Cloud Build pour configurer la compilation, ce champ vous permet de définir des variables de substitution spécifiques à ce déclencheur. Par exemple, supposons que vous créez plusieurs déclencheurs, chacun visant à déployer votre application dans un environnement spécifique. Vous pouvez indiquer dans votre fichier de configuration que votre application est déployée dans un environnement, puis utiliser ce champ pour définir des variables de substitution spécifiant vers quel environnement ce déclencheur doit effectuer le déploiement. Pour en savoir plus sur la manière de spécifier des valeurs de substitution dans les fichiers de configuration de compilation, consultez la page Remplacer les valeurs des variables.
Build logs (Journaux de compilation) (facultatif): cochez la case pour envoyer des journaux de compilation à GitHub. Pour savoir comment afficher les journaux de compilation, consultez Afficher les journaux de compilation.
Compte de service: sélectionnez le compte de service à utiliser lors de l'appel de votre déclencheur. Si vous ne sélectionnez pas de compte de service, le compte de service Cloud Build par défaut est utilisé.
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 Enterprise à l'aide des commandes gcloud
, exécutez la commande suivante :
commande:
gcloud builds triggers create github \
--name=TRIGGER_NAME \
--repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
--branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
--build-config=BUILD_CONFIG_FILE \
--region=REGION
Où :
- TRIGGER_NAME correspond au nom de votre déclencheur.
- PROJECT_ID correspond à votre ID de projet Google Cloud.
- REGION est la région du déclencheur.
- CONNECTION_NAME est le nom de votre connexion GitHub Enterprise.
- REPO_NAME est le nom de votre 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.
Partage des données
Les données envoyées à GitHub Enterprise depuis Cloud Build vous aident à identifier les déclencheurs par nom et consultez les résultats des compilations sur GitHub Enterprise.
Les données suivantes sont actuellement partagées entre Cloud Build et GitHub Enterprise:
- ID du projet Cloud
- Nom du déclencheur
- 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 Enterprise 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 Enterprise, 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 toutes les vérifications requises spécifiques à Cloud Build sur le dépôt GitHub Enterprise
- 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.
- Découvrez comment créer des dépôts à partir de GitHub Enterprise dans un réseau privé.
- Découvrez comment effectuer des déploiements bleu-vert sur Compute Engine.