Se connecter à un dépôt Bitbucket Server

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

Avant de commencer

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

    Activer les API

Se connecter à un dépôt Bitbucket Server

Console

Pour connecter un dépôt Bitbucket Server à 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 Serveur Bitbucket.

    Le panneau Connecter un dépôt s'affiche. Pour connecter votre dépôt Bitbucket Server, procédez comme suit:

    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 Serveur Bitbucket.

    3. 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 Bitbucket Server que vous souhaitez connecter à Cloud Build.

    6. Une fois que vous avez sélectionné votre compte et vos dépôts Bitbucket Server, 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.

    Lorsqu'un dépôt est connecté, Cloud Build configure un webhook sur le dépôt dans votre instance Bitbucket Server. Le dépôt envoie ensuite des webhooks pour appeler les déclencheurs Bitbucket Server correspondants lorsque vous modifiez le 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 BitbucketServerConfig.

    Saisissez la commande suivante pour récupérer l'ID de webhook:

      gcloud alpha builds enterprise-config bitbucketserver describe CONFIG_NAME  --region=REGION
    

    Où :

    • CONFIG_NAME est le nom de la configuration de Bitbucket Server.
    • REGION est la région de la connexion hôte de Bitbucket Server.
  5. Cliquez sur OK. Si vous le souhaitez, cliquez sur Créer un déclencheur pour en créer un.

API

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

  1. Utilisez le modèle JSON suivant pour connecter votre dépôt:

    {
      "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
      "requests": {
        "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
       "bitbucketServerConnectedRepository": {
          "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_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 Bitbucket Server.
    • BITBUCKET_SERVER_CONFIG_NAME est le nom de la configuration de votre serveur Bitbucket.
    • PROJECT_KEY est la clé de votre projet Bitbucket Server. Si vous souhaitez connecter un dépôt personnel, la clé de votre projet doit contenir le symbole tilde (~) devant votre nom d'utilisateur. Exemple : ~${USERNAME}. L'URL complète d'un dépôt hôte peut se présenter sous la forme https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
    • REPO_SLUG est le slug de votre dépôt de serveur Bitbucket.
  2. Saisissez la commande curl suivante dans votre terminal:

    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_SERVER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json
    

    Où :

    • PROJECT_NUMBER est le numéro de votre projet Cloud.
    • PROJECT_ID est votre ID de projet cloud.
    • REGION est la région associée à votre configuration Bitbucket Server.
    • BITBUCKET_SERVER_CONFIG_NAME est le nom de votre configuration Bitbucket Server.

    Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Operation.

  3. Saisissez 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 Cloud.
    • PROJECT_ID est votre ID de projet cloud.
    • REGION est la région associée à votre configuration Bitbucket Server.
    • OPERATION_ID est l'ID de votre opération de création de configuration Bitbucket Server. Vous trouverez l'ID d'opération 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 Bitbucket Server est correctement connecté, vous pouvez voir le dépôt connecté dans le champ response.bitbucketServerConnectedRepositories. Sinon, reportez-vous au champ error pour obtenir un rapport d'erreur détaillé.

Étapes suivantes