Cette page explique comment se connecter à un dépôt Bitbucket Data Center dans Cloud Build.
Avant de commencer
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
- Suivez les instructions pour connecter un hôte Bitbucket Data Center avant de vous connecter à un dépôt.
Se connecter à un dépôt Bitbucket Data Center
Console
Pour connecter un dépôt Bitbucket Data Center à Cloud Build à l'aide de la console Google Cloud :
Ouvrez la page Dépôts dans la console Google Cloud .
En haut de la page, sélectionnez l'onglet 1re génération.
Cliquez sur Connecter un dépôt.
Sélectionnez Bitbucket Data Center.
Le panneau Connecter un dépôt s'affiche. Pour connecter votre dépôt Bitbucket Data Center, procédez comme suit :
Région : sélectionnez la région dans laquelle se trouve votre connexion.
Sous Sélectionner un fournisseur de gestion de code source, sélectionnez Bitbucket Data Center.
Connexion hôte : sélectionnez le nom de votre connexion hôte dans le menu déroulant.
Cliquez sur Continuer.
Sous Sélectionner un dépôt, sélectionnez les dépôts Bitbucket Data Center que vous souhaitez connecter à Cloud Build.
Une fois que vous avez sélectionné votre compte et vos dépôts Bitbucket Data Center, lisez la clause de non-responsabilité et cochez la case à côté de celle-ci pour indiquer que vous acceptez les conditions d'utilisation.
Cliquez sur Connecter pour connecter vos dépôts.
Cliquez sur OK. Vous pouvez également cliquer sur Créer un déclencheur pour en créer un.
API
Pour connecter votre dépôt Bitbucket Data Center à Cloud Build à l'aide de l'API, procédez comme suit :
Créez un fichier json contenant les éléments suivants :
{ "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "requests": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "bitbucketServerConnectedRepository": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME", "repo": { "projectKey":"PROJECT_KEY", "repoSlug": "REPO_SLUG", } } } }
Où :
- PROJECT_NUMBER est le numéro de votre projet Cloud.
- REGION correspond à la région associée à votre configuration Bitbucket Data Center.
- BITBUCKET_DATA_CENTER_CONFIG_NAME est le nom de votre configuration Bitbucket Data Center.
- PROJECT_KEY est la clé de votre projet Bitbucket Data Center. Si vous souhaitez connecter un dépôt personnel, la clé de votre projet doit contenir le symbole tilde (
~
) avant votre nom d'utilisateur. Exemple :~${USERNAME}
. L'URL complète d'un dépôt hôte est semblable àhttps://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG correspond au slug de votre dépôt Bitbucket Data Center.
Exécutez la commande
curl
suivante dans votre terminal à partir du même répertoire que le fichier JSON :
curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json
Où :
- PROJECT_NUMBER est le numéro de votre projet Google Cloud .
- PROJECT_ID est l'ID de votre projet Google Cloud .
- REGION correspond à la région associée à votre configuration Bitbucket Data Center.
- BITBUCKET_DATA_CENTER_CONFIG_NAME est le nom de votre configuration Bitbucket Data Center. Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Operation.
Exécutez la commande
curl
suivante dans votre terminal :curl -X GET -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Où :
- PROJECT_NUMBER est le numéro de votre projet Google Cloud .
- PROJECT_ID est votre ID Google Cloud .
- REGION correspond à la région associée à votre configuration Bitbucket Data Center.
- OPERATION_ID est l'ID de l'opération de création de votre configuration Bitbucket Data Center. Vous trouverez l'ID d'opération dans le champ
name
de votre réponse. Le format du champname
dans votre réponse se présente comme suit :projects/project-id/locations/region/operations/operation-id
.
Vous devrez peut-être continuer à exécuter la commande d'API
GetOperation
jusqu'à ce que la réponse contiennedone: true
, ce qui indique que l'opération est terminée. Si le dépôt Bitbucket Data Center est correctement associé, vous pouvez le voir dans le champresponse.bitbucketServerConnectedRepositories
. Sinon, consultez le champerror
pour obtenir un rapport d'erreur détaillé.
Lorsqu'un dépôt est connecté, Cloud Build configure un webhook sur le dépôt dans votre instance Bitbucket Data Center. Le dépôt envoie ensuite des webhooks pour appeler les déclencheurs Bitbucket Data Center correspondants lorsque vous apportez des modifications à votre dépôt. Un dépôt peut également être associé plusieurs fois à plusieurs connexions hôtes. Pour savoir comment gérer les Webhooks, consultez Gérer les Webhooks.
Pour localiser le webhook, vous avez besoin de son ID. L'ID du webhook pour chaque dépôt associé se trouve dans BitbucketServerConfig
.
Saisissez la commande suivante pour récupérer l'ID du webhook :
gcloud alpha builds enterprise-config bitbucketserver describe CONFIG_NAME --region=REGION
Où :
- CONFIG_NAME est le nom de la configuration Bitbucket Data Center.
- REGION correspond à la région de la connexion hôte Bitbucket Data Center.
Étapes suivantes
- Découvrez comment créer des dépôts à partir de Bitbucket Data Center.
- Découvrez comment créer des dépôts à partir de Bitbucket Data Center dans un réseau privé.
- Découvrez comment effectuer des déploiements bleu-vert sur Compute Engine.