Ces instructions s'adressent 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 Bitbucket Data Center avec Google. Plus précisément, vous pouvez utiliser des dépôts Bitbucket Data Center 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 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 décrites dans ce guide à l'aide d'un compte de bot 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 de niveau administrateur sur un dépôt partagé.
- Assurez-vous de disposer d'une ressource de service de l'Annuaire des services pour
vous connecter à des réseaux privés, ou
créez-en une. Vous pouvez créer la ressource de service de l'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 la page Utiliser l'Annuaire des services pour accéder à des 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 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 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 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 Google Cloud console 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 autoriser Developer Connect à utiliser l'Annuaire des services et pour autoriser l'Annuaire des services à accéder à votre ressource de réseau VPC.
Accordez des autorisations au compte de service Developer Connect pour 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 Google Cloud projet.
- SERVICE_DIRECTORY_RESOURCE_PROJECT_ID : ID du projet du projet contenant votre ressource de service de l'Annuaire des services. Google Cloud
Accordez des autorisations à l'Annuaire des services pour accéder à votre ressource de réseau VPC. La ressource de 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 de projet du projet contenant votre ressource de réseau VPC.
Utiliser l'Annuaire des services pour accéder à des hôtes en dehors de Google Cloud
L'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 un routeur 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 d'acheminer la
plage d'adresses IP de l'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 dirige le trafic vers votre hôte.
Lorsque vous créez le point de terminaison de l'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 de protocole de contrôle de transmission (TCP) 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 un routage dynamique mondial. Si votre Cloud VPN utilise un 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 en savoir plus sur la création d'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 champs d'application suivants.
Developer Connect est compatible avec les jetons d'accès utilisateur, de projet et de dépôt.
- 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 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 Bitbucket Data Center, sélectionnez l'une des options suivantes :
Console
Lancez une connexion en procédant 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 Bitbucket Data Center.
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 > Bitbucket Data Center.
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 vos jetons d'accès Bitbucket Data Center :
Jeton d'accès administrateur : saisissez le jeton avec l'accès au champ d'application administrateur du dépôt.
Jeton d'accès en lecture : saisissez le jeton avec l'accès au champ d'application en lecture du dépôt.
Dans le champ 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 coché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, choisissez Réseau privé.
Dans le champ 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 de l'Annuaire des services, 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 Saisie manuelle, spécifiez l'ID de votre Google Cloud projet. 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 de l'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 de l'Annuaire des services.
Service : sélectionnez le nom du service de l'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.
Procédez comme suit pour associer des dépôts à votre connexion :
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 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
gcloud developer-connect connections createcommande pour 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 : la 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 contenant 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. Vous pouvez utiliser
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 des 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-vous à 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 vous associer à des dépôts. Vous pouvez 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
Créez des liens vers des dépôts en procédant 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-en une.
Cliquez sur Continuer.
Dans la liste des dépôts, sélectionnez ceux auxquels vous souhaitez vous associer.
Cliquez sur Créer.
Developer Connect crée les liens de dépôt et les affiche dans la Google Cloud console.
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 de dépôt.
Pour répertorier les dépôts associés, exécutez la
developer-connect connections git-repository-linkslist
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.