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 Bitbucket Data Center avec Google. Plus précisément, vous pouvez utiliser les dépôts Bitbucket Data Center avec Gemini Code Assist.
Pour en savoir plus sur Developer Connect, consultez la 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 and Service Directory APIs.
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 and Service Directory APIs.
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 Bitbucket Data Center.
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 robot ou d'un compte partagé par votre équipe, et non d'un compte personnel.
- Assurez-vous de posséder un dépôt Bitbucket Data Center ou de disposer d'autorisations d'administrateur sur un dépôt partagé.
- Assurez-vous de disposer d'une ressource Annuaire des services pour vous connecter à des réseaux privés ou créez-en une. Vous pouvez créer la ressource Annuaire des services dans le même projet que celui que vous utilisez avec Developer Connect, ou vous pouvez utiliser un autre projet.
Pour les connexions à des réseaux en dehors de Google Cloud, vous devrez peut-être configurer l'Annuaire des services différemment. Consultez Utiliser l'annuaire des services pour accéder aux hôtes en dehors de Google Cloud.
- 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
gcloud components update. - 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
- 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
L'activation de Developer Connect active également l'API Secret Manager.
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 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.
Accorder des autorisations pour utiliser l'annuaire des services
Procédez comme suit pour permettre à Developer Connect d'utiliser l'Annuaire des services et à l'Annuaire des services d'accéder à la ressource de votre réseau VPC.
Accordez au compte de service Developer Connect l'autorisation d'utiliser l'Annuaire des services en exécutant les commandes suivantes :
PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)") SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-devconnect.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding SERVICE_DIRECTORY_RESOURCE_PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/servicedirectory.viewer"Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- SERVICE_DIRECTORY_RESOURCE_PROJECT_ID : ID du projet pour le projet Google Cloud qui contient votre ressource de service Annuaire des services.
Accordez à l'Annuaire des services l'autorisation d'accéder à la ressource de votre réseau VPC. La ressource réseau peut se trouver dans un autre projet.
gcloud projects add-iam-policy-binding NETWORK_RESOURCE_PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/servicedirectory.pscAuthorizedService"Remplacez NETWORK_RESOURCE_PROJECT_ID par l'ID du projet qui contient votre ressource de réseau VPC.
Utiliser l'Annuaire des services pour accéder aux hôtes en dehors de Google Cloud
Annuaire des services utilise la plage d'adresses IP 35.199.192.0/19 pour connecter votre hôte en dehors de Google Cloud. Vous devez ajouter cette plage à une liste d'autorisation dans votre pare-feu. De plus, votre réseau privé doit être configuré pour acheminer cette plage via la connexion Cloud VPN ou Cloud Interconnect.
Si votre connexion utilise Cloud Router, vous pouvez la configurer pour communiquer la plage à votre réseau privé.
Pour en savoir plus, consultez Configurer l'accès à un réseau privé.
Utiliser Cloud Load Balancing pour accéder à des hôtes en dehors de Google Cloud
Si la configuration de votre réseau ne vous permet pas de router la plage d'adresses IP Annuaire des services 35.199.192.0/19 vers Cloud VPN ou Cloud Interconnect, vous pouvez créer un équilibreur de charge à l'aide de Cloud Load Balancing, qui redirige le trafic vers votre hôte.
Lorsque vous créez le point de terminaison Annuaire des services, veillez à utiliser l'adresse IP de la règle de transfert de l'équilibreur de charge au lieu de l'adresse IP de votre hôte. Vous pouvez utiliser un équilibreur de charge HTTPS interne ou un équilibreur de charge TCP (Transmission Control Protocol) interne lorsque vous créez votre point de terminaison.
Lorsque vous créez votre équilibreur de charge TCP, tenez compte des points suivants :
- Seul un groupe de points de terminaison du réseau (NEG) de connectivité hybride est nécessaire pour accéder à votre hôte.
- L'équilibreur de charge TCP ne nécessite pas la clé privée non chiffrée de votre certificat SSL.
- Votre configuration Cloud VPN doit utiliser Cloud Router avec le routage dynamique mondial. Si votre Cloud VPN utilise le routage statique, vous pouvez utiliser un proxy qui utilise Cloud Service Mesh à la place. Pour en savoir plus, consultez Configurer des services de périphérie réseau pour les déploiements hybrides.
Pour savoir comment créer un équilibreur de charge HTTPS, consultez Configurer un équilibreur de charge d'application interne avec une connectivité hybride. Pour en savoir plus sur la création d'un équilibreur de charge TCP, consultez Configurer un équilibreur de charge réseau proxy interne régional avec une connectivité hybride.
Créer des jetons d'accès
Créez des jetons d'accès personnels dans Bitbucket Data Center en procédant comme suit :
Suivez les instructions de la documentation Bitbucket Data Center pour créer deux jetons d'accès HTTP et accorder les portées suivantes.
Developer Connect accepte les jetons d'accès aux utilisateurs, aux projets et aux dépôts.
- Créez un jeton avec le champ d'application
repository admin. Dans Developer Connect, ce jeton est appelé jeton d'accès administrateur. - Créez un jeton avec le champ d'application
repository read. Dans Developer Connect, ce jeton est appelé jeton d'accès en lecture.
Vous êtes responsable de la gestion de la durée de vie des jetons Bitbucket Data Center dans Bitbucket Data Center. Pour protéger votre code source, vous pouvez définir une date d'expiration lors de la création du jeton. Si vous ne définissez pas de date d'expiration, le jeton reste valide jusqu'à ce que vous le révoquiez dans Bitbucket Data Center.
- Créez un jeton avec le champ d'application
Copiez les jetons d'accès pour les utiliser dans les procédures suivantes.
Créer une connexion
Cette section explique comment créer une connexion entre Developer Connect et Bitbucket Data Center. 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 Bitbucket Data Center, sélectionnez l'une des options suivantes :
Console
Pour lancer une connexion, procédez comme suit :
Dans la console Google Cloud , ouvrez 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 Bitbucket Data Center.
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 > Bitbucket Data Center.
La page Créer une connexion s'ouvre.
Dans le champ Région, sélectionnez 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 vos jetons d'accès Bitbucket Data Center :
Jeton d'accès administrateur : saisissez le jeton avec accès au niveau administrateur du dépôt.
Jeton d'accès en lecture : saisissez le jeton avec accès au niveau d'accès "lecture de dépôts".
Pour URL de l'hôte, saisissez l'URL de l'hôte auquel vous souhaitez vous connecter.
Cliquez sur Afficher plus pour afficher les paramètres de configuration facultatifs.
La case à cocher Activer le proxy Developer Connect est sélectionnée par défaut afin que Developer Connect puisse agir en tant que proxy pour les appels Git vers Bitbucket Data Center.
Dans la section Mise en réseau, pour Type de réseau, sélectionnez Réseau privé.
Pour Certificat CA, cliquez sur Parcourir pour importer votre certificat autosigné.
Votre certificat ne doit pas dépasser 10 Ko et doit être au format PEM (.pem, .cer ou .crt). Si cette section est laissée vide, un ensemble de certificats par défaut sera utilisé à la place.
Dans la section Service Directory, sélectionnez l'emplacement de votre service :
- Dans le projet
your-project - Dans un autre projet
- Saisie manuelle
Si vous sélectionnez Dans un autre projet ou Saisir manuellement, spécifiez l'ID de votre projet Google Cloud . Sélectionnez le projet dans le menu déroulant ou saisissez manuellement l'ID du projet.
- Dans le projet
Région : sélectionnez la région de votre service Annuaire des services. La région spécifiée pour votre service doit correspondre à celle associée à votre connexion.
Espace de noms : sélectionnez l'espace de noms de votre service Annuaire des services.
Service : sélectionnez le nom du service Annuaire des services dans votre espace de noms.
Facultatif : Dans la section Chiffrement, sélectionnez une clé CMEK pour chiffrer les secrets Secret Manager créés par Developer Connect.
Cliquez sur le bouton Continuer. Developer Connect crée votre connexion. Ce processus peut prendre quelques secondes.
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 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
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_NAMEStockez vos jetons d'accès dans Secret Manager en exécutant les commandes suivantes :
gcloud secrets create ADMIN_SECRET_NAME echo -n ADMIN_SECRET_DATA | gcloud secrets versions add ADMIN_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 :
- ADMIN_SECRET_NAME : nom du secret qui stocke votre jeton d'accès administrateur.
- ADMIN_SECRET_DATA : votre jeton d'accès administrateur.
- READ_SECRET_NAME : nom du secret qui stocke votre jeton d'accès en lecture.
- READ_SECRET_DATA : votre jeton d'accès en lecture.
Exécutez la commande
gcloud developer-connect connections createpour créer une connexion à Bitbucket Data Center :gcloud developer-connect connections create CONNECTION_NAME \ --location=REGION \ --bitbucket-data-center-config-host-uri=HOST_URI \ --bitbucket-data-center-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/ADMIN_SECRET_NAME/versions/VERSION \ --bitbucket-data-center-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \ --bitbucket-data-center-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 à utiliser pour votre connexion.
- HOST_URI : URI de votre hôte Bitbucket Data Center, y compris le préfixe
https://. - PROJECT_ID : ID de votre projet Google Cloud.
- ADMIN_SECRET_NAME : nom du secret Secret Manager qui contient votre jeton d'accès administrateur.
- READ_SECRET_NAME : nom du secret Secret Manager contenant votre jeton d'accès en lecture.
- 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
latestpour utiliser le numéro de version le plus récent. --git-proxy-config-enabledest un indicateur facultatif qui permet à Developer Connect d'agir en tant que proxy pour les appels Git vers Bitbucket Data Center. Vous devez activer cette fonctionnalité lorsque vous exécutez la personnalisation du code Gemini Code Assist sur les dépôts de code source Bitbucket Data Center hébergés dans des réseaux privés.--github-enterprise-config-ssl-ca-certificateest un indicateur facultatif permettant d'ajouter un certificat SSL au format$HOME/my-ssl-ca.txt.
Developer Connect établit la connexion à Bitbucket Data Center. Ensuite, associez-le à des dépôts.
Associer des dépôts à l'aide d'une connexion existante
Une fois que vous avez établi une connexion à Bitbucket Data Center, vous pouvez créer des liens vers 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 Bitbucket Data Center 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 console Google Cloud .
Cliquez sur Associer un dépôt.
Le volet Associer des dépôts Git s'ouvre.
Dans la liste des connexions, sélectionnez-en une.
Cliquez sur Continuer.
Dans la liste des dépôts, sélectionnez ceux que vous souhaitez associer.
Cliquez sur Créer.
Developer Connect crée les liens vers le dépôt et les affiche dans la console Google Cloud .
gcloud
Créez un lien vers votre dépôt Bitbucket Data Center 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 nouveau lien entre Developer Connect et votre dépôt Bitbucket Data Center.
- REPO_URI : URL de votre dépôt dans Bitbucket Data Center, y compris le préfixe
https://et le suffixe.git. - CONNECTION_NAME : nom de votre connexion à Bitbucket Data Center.
- 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-linkslist.
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
- 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.