Créer des dépôts depuis GitHub Enterprise

Cloud Build vous permet de créer des déclencheurs sur une instance GitHub Enterprise. Cette page explique comment utiliser les déclencheurs GitHub Enterprise pour appeler des compilations en réponse à des commits ou des requêtes d'extraction à partir d'un dépôt GitHub Enterprise.

Apprenez-en davantage sur les déclencheurs Cloud Build et les dépôts Cloud Build.

Avant de commencer

  • Activer les API Cloud Build and Secret Manager.

    Activer les API

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 des déclencheurs GitHub Enterprise dans un réseau privé, consultez la section Créer des dépôts à partir de GitHub Enterprise dans un réseau privé pour en savoir plus.

Console

Pour créer des déclencheurs GitHub Enterprise à l'aide de la console Google Cloud:

  1. Ouvrez la page Déclencheurs dans la console Google Cloud.

    Ouvrir la page Déclencheurs

  2. Sélectionnez votre projet dans le menu déroulant du sélecteur de projet, en haut de la page.

  3. Cliquez sur Ouvrir.

  4. Cliquez sur Créer un déclencheur.

  5. Entrez les paramètres de déclencheur suivants :

    • Nom : saisissez le nom de votre déclencheur.

    • Région: sélectionnez la région du déclencheur.

      • Si le fichier de configuration de compilation associé au déclencheur spécifie un pool privé, Cloud Build utilise ce pool pour exécuter la compilation. 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 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: configurez votre déclencheur pour démarrer une compilation sur les commits d'une demande d'extraction d'extraction.

    • Source: sélectionnez la source 2e génération.

      • Dépôt : sélectionnez le dépôt de votre choix dans la liste des dépôts disponibles. Pour associer un nouveau dépôt, consultez 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 avec /gcbrun dans la description ou le commentaire de la demande d'extraction;extraction, 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'une fois qu'un propriétaire ou un collaborateur a commenté /gcbrun sur la demande d'extraction 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étectée automatiquement: Cloud Build détecte automatiquement votre type de configuration si votre dépôt contient un cloudbuild.yaml ou un Dockerfile.
        • 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.
      • 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 un Dockerfile, vous pouvez éventuellement fournir un délai d'expiration pour votre compilation. Une fois le fichier Dockerfile et le nom de l'image fournis, vous obtenez un aperçu de la commande docker 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 la console Google Cloud en utilisant la syntaxe YAML ou JSON. Cliquez sur OK pour enregistrer la configuration de 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 cette case pour envoyer des journaux de compilation à GitHub. Pour savoir comment afficher les journaux de compilation, consultez la section 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é.

  6. 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 de commandes gcloud, exécutez la commande suivante:

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 de votre 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 à afficher 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
  • 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 de données pour tous les déclencheurs GitHub Enterprise de votre projet en cliquant sur Activer dans l'onglet Partage de données Cloud Build.

Si les vérifications d'état obligatoires sont activées pour un dépôt GitHub Enterprise, l'activation du partage de données peut interrompre temporairement les vérifications de l'é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 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