Ces instructions sont destinées aux développeurs d'applications, aux administrateurs de plates-formes 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 des dépôts GitLab avec Gemini Code Assist.
Pour en savoir plus sur Developer Connect, consultez la page Présentation de Developer Connect.
Avant de commencer
-
Connectez-vous à votre compte Google.
Si vous n'en possédez pas déjà un, vous devez en créer un.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
Assurez-vous d'avoir accès à un compte sur GitLab.
Pour assurer la sécurité du travail de votre équipe, nous vous recommandons d'effectuer les tâches décrites dans ce guide à l'aide d'un compte de service ou d'un compte partagé par votre équipe, et non d'un compte personnel.
- Assurez-vous de posséder un dépôt GitLab ou de disposer d'autorisations de niveau administrateur sur un dépôt partagé.
- 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.
- Facultatif : Pour utiliser les instructions de ligne de commande de ce guide, procédez comme suit :
- 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 la commande
gcloud components update. - Créez un compte de service Developer Connect
en exécutant la commande suivante, où PROJECT_ID correspond à l'Google Cloud ID de votre projet :
gcloud beta services identity create \ --service=developerconnect.googleapis.com \ --project=PROJECT_ID
- 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 la commande
L'activation de Developer Connect active également l' API Secret Manager.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer des connexions et des 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 CryptoKey Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter) sur le compte de service Secret Manager. -
Si vous prévoyez d'utiliser la gcloud CLI pour suivre 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 Google Cloud console pour suivre 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 :
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 champ d'application
apipour connecter et déconnecter des dépôts. - Un jeton avec le champ d'application
read_apipour autoriser Developer Connect à lire le code source dans vos dépôts. - Pour les jetons d'accès de groupe et les jetons d'accès de projet, les jetons doivent avoir un rôle de responsable ou supérieur.
- Un jeton avec le champ d'application
Créer une connexion
Cette section explique comment créer une connexion entre Developer Connect et GitLab. Si vous utilisez la Google Cloud console, vous pouvez également commencer à ajouter des liens vers des dépôts lorsque vous avez terminé de configurer votre connexion.
Pour créer une connexion GitLab, sélectionnez l'une des options suivantes :
Console
Pour établir une connexion, procédez comme suit :
Dans la Google Cloud console, ouvrez Developer Connect.
Developer Connect affiche la page Dépôts Git.
- Si une liste de fournisseurs de gestion du code source s'affiche : commencez à configurer votre première connexion en sélectionnant un fournisseur de gestion du code source. Cliquez sur Connecter sur la fiche GitLab.
Si un tableau répertoriant 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.
Dans le champ Région, choisissez une région pour vos ressources de connexion.
- Dans le champ Nom, saisissez un nom pour votre nouvelle connexion.
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
read_apichamp d'application.
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 d'expiration et les notifications des jetons, consultez la documentation GitLab sur les jetons d'accès personnels, les jetons d'accès de groupe, et les jetons d'accès de projet.
- Jeton d'accès à l'API : saisissez le jeton d'accès avec le champ d'application
Cliquez sur Afficher plus pour afficher les paramètres de configuration facultatifs.
Facultatif : Dans la section Chiffrement, sélectionnez une clé CMEK pour chiffrer les secrets Secret Manager créés par Developer Connect.
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.
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 :
Dans la liste des dépôts disponibles, sélectionnez ceux que vous souhaitez utiliser.
Cliquez sur OK.
Cliquez sur Associer.
Votre connexion est ajoutée à la page Connexions et vos liens de dépôt sont ajoutés à la page Dépôts de la Google Cloud console. Vous pouvez ajouter d'autres 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
Créez un secret de webhook dans Secret Manager en exécutant la commande suivante, où WEBHOOK_SECRET_NAME est un nom pour votre secret de webhook :
cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create WEBHOOK_SECRET_NAMEStockez 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.
- API_SECRET_NAME : nom du secret qui stocke
le jeton avec le champ d'application
Établissez une connexion à votre compte GitLab en exécutant la
developer-connect connections createcommande :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-enabledRemplacez les éléments suivants :
- CONNECTION_NAME : nom de votre connexion.
- REGION : région de votre connexion.
- PROJECT_NAME : ID de votre Google Cloud projet.
- API_SECRET_NAME : nom du secret Secret Manager qui contient le jeton avec le champ d'application
api. - READ_SECRET_NAME : nom du secret Secret Manager qui contient le jeton avec le champ d'application
read_api. - WEBHOOK_SECRET_NAME : nom du secret Secret Manager qui contient votre secret de webhook.
- VERSION : numéro de version de chaque secret. Vous pouvez utiliser
latestpour 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 vers GitLab. Cette fonctionnalité est en version Bêta.
Developer Connect établit la connexion à GitLab. Ensuite, créez un lien vers des dépôts.
Créer un lien vers des dépôts à l'aide d'une connexion existante
Une fois que vous avez établi une connexion à GitLab, vous pouvez créer un lien vers des dépôts. Vous pouvez répéter ces étapes ultérieurement pour créer un lien vers 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 :
Ouvrez la page Dépôts dans la Google Cloud console.
Cliquez sur Associer le dépôt.
Le volet Associer des dépôts Git s'ouvre.
Dans la liste des connexions, choisissez une connexion.
Cliquez sur Continuer.
Dans la liste des dépôts, sélectionnez ceux vers lesquels vous souhaitez créer un lien.
Developer Connect affiche des noms suggérés pour vos ressources de dépôt.
Sélectionnez une option de nommage 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.
Cliquez sur Créer.
Developer Connect crée les liens de dépôt et les affiche dans la Google Cloud console.
gcloud
Pour créer un lien vers un dépôt GitLab, exécutez 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 de votre lien de 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 de dépôt.
Pour lister les dépôts associés, exécutez la
developer-connect connections git-repository-links list commande.
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.
Étape suivante
- Terminez la configuration de la personnalisation du code Gemini Code Assist.
- Découvrez comment Gemini Code Assist vous aide à accélérer le développement de logiciels.
- Découvrez d'autres intégrations disponibles via Developer Connect.