Se connecter à un dépôt de centre de données Bitbucket

Cette page explique comment se connecter à Cloud Build à un dépôt Bitbucket Data Center.

Avant de commencer

  • Activer les API Cloud Build, Secret Manager, and Compute Engine.

    Activer les API

Se connecter à un dépôt de centre de données Bitbucket

Console

Pour connecter un dépôt de centre de données Bitbucket à Cloud Build à l'aide de la console Google Cloud, procédez comme suit:

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

    Ouvrir la page "Dépôts"

  2. En haut de la page, sélectionnez l'onglet 1re génération.

  3. Cliquez sur Connecter un dépôt.

  4. Sélectionnez Bitbucket Data Center.

    Le panneau Connecter un dépôt s'affiche. Pour connecter votre dépôt de centre de données Bitbucket:

    1. Région: sélectionnez la région dans laquelle se trouve votre connexion.

    2. Sous Sélectionner un fournisseur de gestion de code source, sélectionnez Centre de données Bitbucket.

    3. Host connection (Connexion hôte) : sélectionnez le nom de votre connexion hôte dans le menu déroulant.

    4. Cliquez sur Continuer.

    5. Sous Sélectionner un dépôt, sélectionnez les dépôts de centre de données Bitbucket que vous souhaitez connecter à Cloud Build.

    6. Une fois que vous avez sélectionné votre compte de centre de données et vos dépôts Bitbucket, lisez la clause de non-responsabilité et cochez la case correspondante pour indiquer que vous acceptez les conditions d'utilisation.

    7. Cliquez sur Connecter pour connecter vos dépôts.

  5. Cliquez sur OK. Vous pouvez également cliquer sur Créer un déclencheur pour créer un déclencheur.

API

Pour connecter votre dépôt de centre de données Bitbucket à Cloud Build à l'aide de l'API, procédez comme suit:

  1. 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 est la région associée à votre configuration de centre de données Bitbucket.
    • BITBUCKET_DATA_CENTER_CONFIG_NAME est le nom de votre configuration de centre de données Bitbucket.
    • PROJECT_KEY est la clé de votre projet de centre de données Bitbucket. Si vous souhaitez connecter un dépôt personnel, votre clé de projet doit contenir le symbole tilde (~) devant 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 est le slug de votre dépôt de centre de données Bitbucket.
  2. 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 correspond au numéro de votre projet Google Cloud.
  • PROJECT_ID correspond à votre ID de projet Google Cloud.
  • REGION est la région associée à votre configuration de centre de données Bitbucket.
  • BITBUCKET_DATA_CENTER_CONFIG_NAME est le nom de votre configuration de centre de données Bitbucket. Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Operation.
  1. 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 correspond au numéro de votre projet Google Cloud.
    • PROJECT_ID est votre ID Google Cloud.
    • REGION est la région associée à votre configuration de centre de données Bitbucket.
    • OPERATION_ID est l'ID de votre opération de création de configuration du centre de données Bitbucket. Vous le trouverez dans le champ name de votre réponse. Le format du champ name 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 contienne done: true, ce qui indique que l'opération est terminée. Si le dépôt du centre de données Bitbucket est connecté, le dépôt connecté s'affiche dans le champ response.bitbucketServerConnectedRepositories. Sinon, consultez le champ error 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 du centre de données Bitbucket. Le dépôt envoie ensuite des webhooks pour appeler les déclencheurs du centre de données Bitbucket correspondants lorsque vous apportez des modifications au dépôt. Un dépôt peut également être connecté plusieurs fois avec 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 de webhook de chaque dépôt connecté se trouve dans le 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 du centre de données Bitbucket
  • REGION est la région de la connexion hôte du centre de données Bitbucket.

Étapes suivantes