Conectar-se a um repositório do Bitbucket Server

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Nesta página, explicamos como se conectar a um repositório do servidor Bitbucket para o Cloud Build.

Antes de começar

  • Ative as APIs Cloud Build, Secret Manager, and Compute Engine.

    Ative as APIs

Como se conectar a um repositório do Bitbucket Server

Console

Para conectar um repositório do Bitbucket Server ao Cloud Build usando o console do Google Cloud:

  1. Abra a página Gatilhos no console do Google Cloud.

    Abrir a página Acionadores

  2. Clique em Conectar repositório.

    Você verá o painel Conectar repositório.

  3. Em Selecionar origem, selecione Servidor do Bitbucket.

  4. Em Selecionar repositório, selecione os repositórios do Bitbucket Server que você quer conectar ao Cloud Build.

  5. Clique em Conectar para conectar os repositórios.

    Quando um repositório é conectado, o Cloud Build configura um webhook no repositório na instância do Bitbucket Server. Depois, o repositório envia webhooks para invocar os gatilhos correspondentes do Bitbucket Server quando você faz alterações no repositório. Também é possível conectar um repositório várias vezes com várias conexões de host. Para saber como gerenciar webhooks, consulte Gerenciar webhooks.

    Para localizar o webhook, você precisa do ID dele. O ID do webhook para cada repositório conectado pode ser encontrado no BitbucketServerConfig. Digite o seguinte comando para recuperar o ID do webhook, em que CONFIG_NAME é o nome da configuração do Bitbucket Server:

    gcloud alpha builds enterprise-config bitbucketserver describe CONFIG_NAME
    
  6. Clique em Concluído. Se quiser, clique em Criar um acionador.

API

Para conectar seu repositório do Bitbucket Server ao Cloud Build usando a API, use o seguinte modelo JSON:

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

Em que:

  • PROJECT_NUMBER é o número do seu projeto do Cloud.
  • REGION é a região associada à configuração do Bitbucket Server.
  • BITBUCKET_SERVER_CONFIG_NAME é o nome da configuração do servidor do Bitbucket.
  • PROJECT_KEY é a chave do projeto do Bitbucket Server. Se você quiser conectar um repositório pessoal, a chave do projeto precisará conter o símbolo de til (~) antes do nome de usuário. Por exemplo, ~${USERNAME}. O URL completo de um repositório host pode ser semelhante a https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
  • REPO_SLUG é o slug do repositório do servidor do Bitbucket.

Digite o seguinte comando curl no seu 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/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json

Em que:

  • PROJECT_NUMBER é o número do projeto do Cloud.
  • PROJECT_ID é seu ID do projeto do Cloud.
  • BITBUCKET_SERVER_CONFIG_NAME é o nome da configuração do Bitbucket Server.

Se a solicitação for concluída, o corpo da resposta incluirá uma instância de Operation.

Digite o seguinte comando curl no seu 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/global/operations/OPERATION_ID

Em que:

  • PROJECT_NUMBER é o número do projeto do Cloud.
  • PROJECT_ID é seu ID do projeto do Cloud.
  • OPERATION_ID é o ID da operação de criação da configuração do Bitbucket Server.

Pode ser necessário continuar executando o comando da API GetOperation até que a resposta contenha done: true, o que indica que a operação foi concluída. Se o repositório do Bitbucket Server estiver conectado corretamente, será possível ver o repositório conectado no campo response.bitbucketServerConnectedRepositories. Caso contrário, consulte o campo error para ver um relatório detalhado de erros.

A seguir