Se connecter à GitLab

Cette page explique comment créer des connexions à GitLab et des liens vers des dépôts GitLab. Vous pouvez effectuer ces tâches à l'aide de la console Google Cloud ou de la Google Cloud CLI.

Ces instructions s'adressent aux développeurs d'applications, aux administrateurs de plate-forme et aux responsables de la sécurité qui souhaitent utiliser des dépôts de code source GitLab avec Google. Plus précisément, vous pouvez utiliser les dépôts GitLab avec Gemini Code Assist.

Pour en savoir plus sur Developer Connect, consultez la présentation de Developer Connect.

Avant de commencer

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. L'activation de Developer Connect active également l'API Secret Manager.

  9. Assurez-vous d'avoir accès à un compte sur GitLab.

    Pour protéger le travail de votre équipe, nous vous recommandons d'effectuer les tâches de ce guide à l'aide d'un compte de service ou d'un compte partagé par votre équipe, et non d'un compte personnel.

  10. Assurez-vous de posséder un dépôt GitLab ou de disposer d'autorisations de niveau administrateur sur un dépôt partagé.
  11. Facultatif : Créez une clé de chiffrement gérée par le client (CMEK) pour chiffrer les secrets d'authentification créés par Developer Connect.
  12. Facultatif : Pour utiliser les instructions de ligne de commande de ce guide, procédez comme suit :
    1. Installez la Google Cloud CLI. Si vous avez déjà installé la gcloud CLI, assurez-vous de disposer de la dernière version disponible en exécutant gcloud components update.
    2. Créez un compte de service Developer Connect en exécutant la commande suivante, où PROJECT_ID correspond à l'ID de votre projet :Google Cloud
              gcloud beta services identity create \
                  --service=developerconnect.googleapis.com \
                  --project=PROJECT_ID
              

Rôles requis

Pour obtenir les autorisations nécessaires à la création de connexions et de liens, demandez à votre administrateur de vous accorder les rôles IAM suivants :

  • Si vous n'êtes pas le propriétaire du projet : Administrateur Developer Connect (roles/developerconnect.admin) sur votre compte utilisateur.
  • Si vous prévoyez d'utiliser une clé CMEK pour chiffrer les secrets créés par Developer Connect : Chiffreur/Déchiffreur de CryptoKeys Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) sur le compte de service Secret Manager.
  • Si vous prévoyez d'utiliser la gcloud CLI pour effectuer les étapes de ce guide : Rôle d'administrateur Secret Manager (roles/secretmanager.admin) sur le compte de service Developer Connect.
  • Si vous prévoyez d'utiliser la console Google Cloud pour effectuer les étapes de ce guide : Administrateur IAM de projet (roles/resourcemanager.projectIamAdmin) sur votre compte utilisateur.

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer des jetons d'accès

Pour créer des jetons d'accès dans GitLab, procédez comme suit :

  1. Connectez-vous à GitLab.

  2. Suivez les instructions de la documentation GitLab pour créer des jetons d'accès personnels, des jetons d'accès de groupe ou des jetons d'accès de projet avec les autorisations suivantes :

    • Un jeton avec le niveau d'accès api pour associer et dissocier les dépôts.
    • Un jeton avec le champ d'application read_api pour permettre à Developer Connect de lire le code source dans vos dépôts.
    • Pour les jetons d'accès aux groupes et aux projets, les jetons doivent avoir un rôle de responsable ou supérieur.

Créer une connexion

Cette section explique comment créer une connexion entre Developer Connect et GitLab. Si vous utilisez la console Google Cloud , vous pouvez également commencer à ajouter des liens vers des dépôts une fois que vous avez terminé de configurer votre connexion.

Pour créer une connexion GitLab, sélectionnez l'une des options suivantes :

Console

Pour lancer une connexion, procédez comme suit :

  1. Dans la console Google Cloud , ouvrez Developer Connect.

    Accéder à Developer Connect

    Developer Connect affiche la page Dépôts Git.

    • Si une liste de fournisseurs de gestion de code source s'affiche : commencez à configurer votre première connexion en sélectionnant un fournisseur de gestion de code source. Cliquez sur Connecter sur la fiche GitLab.
    • Si un tableau listant les connexions existantes s'affiche : définissez le fournisseur de gestion du code source en cliquant sur Créer une connexion > GitLab.

      La page Créer une connexion s'ouvre.

  2. Dans le champ Région, sélectionnez une région pour vos ressources de connexion.

    1. Dans le champ Nom, saisissez un nom pour votre nouvelle connexion.
  3. Dans la section Jetons d'accès, saisissez les jetons de votre compte :

    • Jeton d'accès à l'API : saisissez le jeton d'accès avec le champ d'application api.
    • Jeton d'accès à l'API en lecture seule : saisissez le jeton d'accès avec le champ d'application read_api.

    Vous devez vous assurer que vos jetons GitLab restent valides. Les jetons GitLab ont une durée de vie maximale de 365 jours, sauf indication contraire du créateur du jeton ou d'un administrateur. Pour savoir comment gérer les paramètres et les notifications d'expiration des jetons, consultez la documentation GitLab sur les jetons d'accès personnels, les jetons d'accès aux groupes et les jetons d'accès aux projets.

  4. Cliquez sur Afficher plus pour afficher les paramètres de configuration facultatifs.

    1. Facultatif : Dans la section Chiffrement, sélectionnez une clé CMEK pour chiffrer les secrets Secret Manager créés par Developer Connect.

    2. Facultatif : Par défaut, Developer Connect peut agir en tant que proxy pour les appels Git vers GitLab. Pour désactiver cette option, décochez la case Activer le proxy Developer Connect.

  5. Cliquez sur Continuer.

Une fois la connexion créée, la page Associer des dépôts s'affiche.

Pour associer des dépôts à votre connexion, procédez comme suit :

  1. Dans la liste des dépôts disponibles, sélectionnez ceux que vous souhaitez utiliser.

  2. Cliquez sur OK.

  3. Cliquez sur Associer.

Votre connexion est ajoutée à la page Connexions et les liens vers vos dépôts sont ajoutés à la page Dépôts de la console Google Cloud . Vous pouvez ajouter des liens à des connexions existantes à tout moment.

Si vous configurez Gemini Code Assist, poursuivez le processus en suivant les étapes décrites dans Configurer et utiliser la personnalisation du code Gemini Code Assist.

gcloud

  1. Créez un secret de webhook dans Secret Manager en exécutant la commande suivante, où WEBHOOK_SECRET_NAME est le nom de votre secret de webhook :

         cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create WEBHOOK_SECRET_NAME
    
  2. Stockez vos jetons d'accès dans Secret Manager en exécutant les commandes suivantes :

    gcloud secrets create API_SECRET_NAME
    
    echo -n API_SECRET_DATA | gcloud secrets versions add API_SECRET_NAME --data-file=-
    
    gcloud secrets create READ_SECRET_NAME
    
    echo -n READ_SECRET_DATA | gcloud secrets versions add READ_SECRET_NAME --data-file=-
    

    Remplacez les éléments suivants :

    • API_SECRET_NAME : nom du secret qui stocke le jeton avec le champ d'application api.
    • API_SECRET_DATA : jeton avec le champ d'application api, semblable à glpat-XXXXXXXXXXXXXXXX.
    • READ_SECRET_NAME : nom du secret qui stocke le jeton avec le champ d'application read_api.
    • READ_SECRET_DATA : jeton avec le champ d'application read_api, semblable à glpat-XXXXXXXXXXXXXXXX.
  3. Établissez une connexion à votre compte GitLab en exécutant la commande developer-connect connections create :

    gcloud developer-connect connections create CONNECTION_NAME \
        --location=REGION \
        --gitlab-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/API_SECRET_NAME/versions/VERSION \
        --gitlab-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \
        --gitlab-config-webhook-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/VERSION
        --git-proxy-config-enabled
    

    Remplacez les éléments suivants :

    • CONNECTION_NAME : nom de votre connexion.
    • REGION : région de votre connexion.
    • PROJECT_NAME : ID de votre projet Google Cloud.
    • API_SECRET_NAME : nom du secret Secret Manager contenant le jeton avec le champ d'application api.
    • READ_SECRET_NAME : nom du secret Secret Manager contenant le jeton avec le champ d'application read_api.
    • WEBHOOK_SECRET_NAME : nom du secret Secret Manager contenant votre secret de webhook.
    • VERSION : numéro de version de chaque secret. Il peut s'agir de latest pour utiliser le numéro de version le plus récent.
    • --git-proxy-config-enabled : indicateur facultatif qui permet à Developer Connect d'agir en tant que proxy pour les appels Git à GitLab. Cette fonctionnalité est en version Bêta.

    Developer Connect établit la connexion à GitLab. Ensuite, associez-le à des dépôts.

Une fois la connexion à GitLab établie, vous pouvez associer des dépôts. Vous pourrez répéter ces étapes ultérieurement pour associer d'autres dépôts si nécessaire.

Pour créer des liens de dépôt sur une connexion GitLab existante, sélectionnez l'une des options suivantes :

Console

Pour créer des liens vers des dépôts, procédez comme suit :

  1. Ouvrez la page Dépôts dans la console Google Cloud .

    Ouvrir la page Dépôts

  2. Cliquez sur Associer un dépôt.

    Le volet Associer des dépôts Git s'ouvre.

  3. Dans la liste des connexions, sélectionnez-en une.

  4. Cliquez sur Continuer.

  5. Dans la liste des dépôts, sélectionnez ceux que vous souhaitez associer.

    Developer Connect affiche des noms suggérés pour les ressources de votre dépôt.

  6. Sélectionnez une option de dénomination des ressources de dépôt :

    • Généré : utilisez les noms de ressources de dépôt générés.
    • Manuel : saisissez vos propres noms.
  7. Cliquez sur Créer.

Developer Connect crée les liens vers le dépôt et les affiche dans la console Google Cloud .

gcloud

Associez un dépôt GitLab en exécutant la commande suivante :

gcloud developer-connect connections git-repository-links create REPO_NAME \
    --clone-uri=REPO_URI \
    --connection=CONNECTION_NAME \
    --location=REGION

Remplacez les éléments suivants :

  • REPO_NAME : nom du lien vers votre dépôt.
  • REPO_URI : lien vers votre dépôt, semblable à https://gitlab.com/my-project/test-repo.git.
  • CONNECTION_NAME : nom de votre connexion.
  • REGION : région de votre connexion.

Developer Connect crée les liens vers les dépôts.

Pour lister les dépôts associés, exécutez la commande developer-connect connections git-repository-links list.

Si vous configurez Gemini Code Assist, poursuivez le processus en suivant les étapes décrites dans Configurer et utiliser la personnalisation du code Gemini Code Assist.

Étapes suivantes