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

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Cloud Build vous permet de créer des déclencheurs à partir de dépôts hébergés sur GitLab Enterprise Edition, ce qui vous permet d'exécuter des compilations en réponse à des événements tels que des transferts de commit ou des requêtes pull associés à votre dépôt GitLab Enterprise Edition.

Cette page explique comment activer la fonctionnalité de déclencheur sur une instance GitLab Enterprise Edition. Si vous souhaitez créer des dépôts à partir de GitLab, consultez la page Créer des dépôts à partir de GitLab.

Avant de commencer

  • Activer les API Cloud Build and Secret Manager.

    Activer les API

Créer un déclencheur GitLab Enterprise Edition

Console

Pour créer un déclencheur GitLab Enterprise Edition à l'aide de Google Cloud Console:

  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 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 de votre déclencheur.

      • Si vous sélectionnez la région global, Cloud Build utilise le pool par défaut pour exécuter votre compilation.
      • Si vous sélectionnez une région non mondiale 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 que vous spécifiez dans votre déclencheur doit correspondre à la région dans laquelle vous avez créé votre pool privé.
      • Si vous sélectionnez une région non mondiale 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 (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): définissez votre déclencheur pour lancer une compilation sur les commits d'une requête d'extraction.

    • Source: sélectionnez le dépôt à compiler lorsque le déclencheur GitLab Enterprise Edition s'exécute.

    • Révision: sélectionnez la branche ou le tag à compiler lorsque le déclencheur GitLab Enterprise Edition s'exécute.

    • Branche: définissez un déclencheur pour créer cette branche.

    • Balise : définissez un déclencheur pour créer cette balise.

    • Configuration: sélectionnez le fichier de configuration de compilation situé dans votre dépôt ou configurez votre compilation de manière intégrée sur le 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, ainsi que le nom de 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 Google Cloud Console à l'aide de 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 Enterprise Edition.

gcloud

Pour créer un déclencheur GitLab Enterprise Edition à l'aide des commandes gcloud, vous devez exécuter la commande gcloud alpha builds triggers create gitlab-enterprise suivante dans votre terminal:

gcloud alpha builds triggers create gitlab-enterprise
    --name=TRIGGER_NAME \
    --project-namespace=GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE \
    --gitlab-config-resource=projects/PROJECT_NUMBER/locations/REGION/gitLabConfigs/GITLAB_ENTERPRISE_EDITION_CONFIG_NAME \
    --branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
    --build-config=BUILD_CONFIG

Remplacez les éléments suivants :

  • TRIGGER_NAME correspond au nom de votre déclencheur.
  • GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE est l'espace de noms de votre projet GitLab Enterprise Edition.
  • PROJECT_NUMBER est le numéro de votre projet Google Cloud.
  • REGION est la région dans laquelle se trouve votre configuration GitLab Enterprise Edition.
  • GITLAB_ENTERPRISE_EDITION_CONFIG_NAME est le nom de votre configuration GitLab Enterprise.
  • BRANCH_NAME est l'expression régulière de votre branche si vous souhaitez définir votre déclencheur afin de créer certaines branches.
  • TAG_NAME est l'expression régulière de votre tag si vous souhaitez définir votre déclencheur afin de créer certains tags.
  • BUILD_CONFIG correspond au chemin d'accès à votre fichier de configuration de compilation.

API

Pour créer un déclencheur GitLab Enterprise Edition avec l'API, utilisez le modèle JSON suivant.

    {
      "filename": "cloudbuild.yaml",
      "name": "curl-trigger",
      "description": "curl trigger",
      "gitlabEnterpriseEventsConfig": {
          "projectNamespace": GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE,
          "push": {
             "branch": BRANCH_NAME # "tag": TAG_NAME
          },
          "gitlabConfigResource": "projects/PROJECT_ID/locations/REGION/gitLabConfigs/GITLAB_ENTERPRISE_EDITION_CONFIG_NAME"
      }
  }

Remplacez les éléments suivants :

  • GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE est l'espace de noms de votre projet GitLab Enterprise Edition.
  • BRANCH_NAME est l'expression régulière de votre branche si vous souhaitez définir votre déclencheur afin de créer certaines branches.
  • TAG_NAME est l'expression régulière de votre tag si vous souhaitez définir
  • PROJECT_ID correspond à votre ID de projet Google Cloud.
  • REGION est la région dans laquelle se trouve votre configuration GitLab Enterprise Edition.
  • GITLAB_ENTERPRISE_EDITION_CONFIG_NAME est le nom de votre configuration GitLab Enterprise.

Saisissez la commande curl suivante dans votre terminal:

curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/triggers -d @trigger.json

Remplacez les éléments suivants :

  • PROJECT_ID correspond à votre ID de projet Google Cloud.
  • REGION est la région dans laquelle se trouve votre configuration GitLab Enterprise Edition.

Partage des données

Les données envoyées à GitLab Enterprise Edition depuis Cloud Build vous permettent d'identifier les déclencheurs par leur nom et d'afficher les résultats de compilation sur vos dépôts GitLab Enterprise Edition.

Les données suivantes sont actuellement partagées entre Cloud Build et GitLab Enterprise Edition:

  • ID du projet Cloud
  • Trigger name

Étapes suivantes