Créer des dépôts à partir de GitLab

Cloud Build vous permet de créer des déclencheurs de compilation à partir de dépôts hébergés sur GitLab. Vous pouvez ainsi exécuter des compilations en réponse à des événements tels que des transferts de commit ou des requêtes de fusion associés à votre dépôt GitLab.

Cette page explique comment activer la fonctionnalité de déclencheur sur une instance GitLab. 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 GitLab

Console

Pour créer un déclencheur GitLab à l'aide de la console Google Cloud, procédez comme suit:

  1. Ouvrez la page Déclencheurs :

    Ouvrir la page Déclencheurs

  2. Sélectionnez votre projet Google Cloud en haut de la page, puis cliquez sur Open (Ouvrir).

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

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

    • Nom : 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 (facultatif) : description de votre 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): configurez votre déclencheur pour démarrer une compilation sur les commits d'une demande de fusion.

    • Source: sélectionnez 2nd gen comme source.

      • Dépôt : sélectionnez le dépôt de votre choix dans la liste des dépôts disponibles. Pour vous connecter à un nouveau dépôt, consultez Se connecter à un dépôt GitLab.

      • 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.

      • Commande de commentaire: si vous avez sélectionné Demande d'extraction en tant qu'événement, choisissez l'une des options suivantes pour contrôler si le déclencheur doit exécuter automatiquement une compilation:

        • Obligatoire sauf pour les propriétaires et les collaborateurs: lorsqu'une demande de fusion est créée ou mise à jour par un propriétaire de dépôt ou un collaborateur, les compilations sont automatiquement exécutées par le déclencheur. Si un contributeur externe lance l'action, les compilations ne sont exécutées qu'une fois qu'un propriétaire ou un collaborateur a commenté /gcbrun sur la demande de fusion.

        • Obligatoire: lorsqu'une demande de fusion est créée ou mise à jour par un contributeur, les compilations ne sont exécutées qu'après qu'un propriétaire ou un collaborateur a commenté /gcbrun sur la demande de fusion. Les compilations sont exécutées chaque fois qu'une demande de fusion est modifiée.

        • Non requis: lorsqu'une demande de fusion est créée ou mise à jour par un contributeur, les compilations sont automatiquement exécutées par des déclencheurs.

    • Configuration: sélectionnez le fichier de configuration de compilation situé dans votre dépôt ou configurez votre build de manière intégrée au déclencheur.

    • 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, indiquez l'emplacement de votre fichier de configuration de compilation ou du 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.

  5. Cliquez sur Créer pour créer votre déclencheur GitLab.

gcloud

Pour créer des déclencheurs GitLab à l'aide des commandes gcloud, exécutez la commande suivante:

gcloud builds triggers create gitlab \
  --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 GitLab.
  • 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 à GitLab depuis Cloud Build vous permettent d'identifier les déclencheurs par leur nom et de consulter les résultats des compilations sur vos dépôts GitLab.

Les données suivantes sont actuellement partagées entre Cloud Build et votre hôte GitLab:

  • ID de projet Google Cloud
  • Trigger name

Étapes suivantes