Estabeleça ligação a um repositório do Bitbucket Server

Esta página explica como estabelecer ligação a um repositório do Bitbucket Server no Cloud Build.

Antes de começar

  • Enable the Cloud Build, Secret Manager, and Compute Engine APIs.

    Enable the APIs

Estabelecer ligação a um repositório do Bitbucket Server

Consola

Para associar um repositório do Bitbucket Server ao Cloud Build através da Google Cloud consola:

  1. Abra a página Repositórios na Google Cloud consola.

    Abra a página Repositórios

  2. Na parte superior da página, selecione o separador 1.ª geração.

  3. Clique em Associar repositório.

  4. Selecione Bitbucket Server.

    É apresentado o painel Associar repositório. Conclua os seguintes passos para associar o seu repositório do Bitbucket Server:

    1. Região: selecione uma região em que a sua ligação se encontra.

    2. Em Selecionar fornecedor de gestão de código fonte, selecione Bitbucket Server.

    3. Associação de anfitrião: selecione o nome da associação de anfitrião no menu pendente.

    4. Clique em Continuar.

    5. Em Selecionar repositório, selecione os repositórios do Bitbucket Server que quer associar ao Cloud Build.

    6. Depois de selecionar a sua conta e repositórios do Bitbucket Server, leia a exclusão de responsabilidade de consentimento e selecione a caixa de verificação junto à mesma para indicar que aceita os termos apresentados.

    7. Clique em Associar para associar os seus repositórios.

    Quando um repositório está associado, o Cloud Build configura um webhook no repositório na sua instância do Bitbucket Server. O repositório envia, em seguida, webhooks para invocar os acionadores do Bitbucket Server correspondentes quando faz alterações ao seu repositório. Um repositório também pode ser associado várias vezes com várias associações de anfitriões. Para saber como gerir webhooks, consulte o artigo Gerir webhooks.

    Para localizar o webhook, precisa do ID do webhook. Pode encontrar o ID do webhook de cada repositório ligado em BitbucketServerConfig.

    Introduza o seguinte comando para obter o ID do webhook:

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

    Onde:

    • CONFIG_NAME é o nome da configuração do Bitbucket Server
    • REGION é a região da ligação do anfitrião do Bitbucket Server
  5. Clique em Concluído. Opcionalmente, clique em Criar um acionador para criar um acionador.

API

Para associar o seu repositório do Bitbucket Server ao Cloud Build através da API, conclua os seguintes passos:

  1. Use o modelo JSON abaixo para associar o seu repositório:

    {
      "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"
           }
         }
      }
    }
    

    Onde:

    • PROJECT_NUMBER é o número do projeto do seu projeto na nuvem.
    • REGION é a região associada à configuração do Bitbucket Server.
    • BITBUCKET_SERVER_CONFIG_NAME é o nome da sua configuração do Bitbucket Server.
    • PROJECT_KEY é a chave do seu projeto do Bitbucket Server. Se quiser associar um repositório pessoal, a chave do projeto deve conter o símbolo de til (~) antes do seu nome de utilizador. Por exemplo, ~${USERNAME}. O URL completo de um repositório de anfitriões pode ter o seguinte aspeto: https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
    • REPO_SLUG é o slug do seu repositório do Bitbucket Server.
  2. Introduza o seguinte comando curl no 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
    

    Onde:

    • PROJECT_NUMBER é o número do seu projeto na nuvem.
    • PROJECT_ID é o ID do seu projeto do Google Cloud.
    • REGION é a região associada à configuração do Bitbucket Server.
    • BITBUCKET_SERVER_CONFIG_NAME é o nome da configuração do Bitbucket Server.

    Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada de Operation.

  3. Introduza o seguinte comando curl no 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
    

    Onde:

    • PROJECT_NUMBER é o número do seu projeto na nuvem.
    • PROJECT_ID é o ID do seu projeto do Google Cloud.
    • REGION é a região associada à configuração do Bitbucket Server.
    • OPERATION_ID é o ID da operação de criação da configuração do Bitbucket Server. Pode encontrar o ID da operação no campo name da sua resposta. O formato do campo name na sua resposta é semelhante ao seguinte: projects/project-id/locations/region/operations/operation-id.

    Pode ter de continuar a executar o comando da API GetOperation até a resposta conter done: true, o que indica que a operação está concluída. Se o repositório do Bitbucket Server estiver associado com êxito, pode ver o repositório associado no campo response.bitbucketServerConnectedRepositories. Caso contrário, consulte o campo error para ver um relatório de erros detalhado.

O que se segue?