Conecte-se a um repositório do data center do Bitbucket

Esta página explica como se conectar a um repositório do data center do Bitbucket. para o Cloud Build.

Antes de começar

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

    Ative as APIs

Conecte-se a um repositório do data center do Bitbucket

Console

Conectar um repositório de data center do Bitbucket ao Cloud Build usando o console do Google Cloud:

  1. Abra a página Repositórios no console do Google Cloud.

    Abrir a página Repositórios

  2. Na parte de cima da página, selecione a guia 1a geração.

  3. Clique em Conectar repositório.

  4. Selecione Data Center do Bitbucket.

    O painel Conectar repositório vai aparecer. Preencha o seguinte etapas para conectar o repositório do data center do Bitbucket:

    1. Região: selecione a região em que sua conexão está.

    2. Em Selecionar provedor de gerenciamento de código-fonte, selecione Bitbucket Data center.

    3. Conexão de host: selecione o nome da sua conexão de host no no menu suspenso.

    4. Clique em Continuar.

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

    6. Depois de selecionar a conta e os repositórios do seu data center do Bitbucket, leia a exoneração de responsabilidade de consentimento e marque a caixa de seleção ao lado para indicar que você aceite os termos apresentados.

    7. Clique em Conectar para conectar seus repositórios.

  5. Clique em Concluído. Se quiser, clique em Criar um gatilho.

API

conectar o repositório do data center do Bitbucket ao Cloud Build usando a API, siga estas etapas:

  1. Crie um arquivo JSON com o seguinte conteúdo:

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

    Em que:

    • PROJECT_NUMBER é o número do projeto do do Google Cloud.
    • REGION é a região; associadas à configuração do seu data center do Bitbucket.
    • BITBUCKET_DATA_CENTER_CONFIG_NAME é o nome de a configuração do data center do Bitbucket.
    • PROJECT_KEY é a chave dos seus dados do Bitbucket. Center. Se você quiser conectar um repositório pessoal, seu projeto deve conter o til (~) antes do nome de usuário. Por exemplo, ~${USERNAME}. O URL completo de um repositório de host é semelhante a https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
    • REPO_SLUG é o lesma do repositório do data center do Bitbucket.
  2. Execute o seguinte comando curl no seu terminal a partir do mesmo diretório como o arquivo 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

Em que:

  • PROJECT_NUMBER é seu projeto do Google Cloud número
  • PROJECT_ID é o ID do projeto do Google Cloud.
  • REGION é a região; associadas à configuração do seu data center do Bitbucket.
  • BITBUCKET_DATA_CENTER_CONFIG_NAME é o nome de a configuração do data center do Bitbucket. Se bem-sucedido, o corpo da resposta conterá uma instância recém-criada de Operação.
  1. Execute 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/REGION/operations/OPERATION_ID
    

    Em que:

    • PROJECT_NUMBER é seu projeto do Google Cloud número
    • PROJECT_ID é seu ID do Google Cloud.
    • REGION é a região; associadas à configuração do seu data center do Bitbucket.
    • OPERATION_ID é o ID dos dados do Bitbucket. Centralizar a operação de criação da configuração. Encontre o ID de operação no campo name da sua resposta. O formato do campo name no sua resposta será semelhante a esta: projects/project-id/locations/region/operations/operation-id.

    Talvez seja necessário continuar executando o comando da API GetOperation até que o resposta contém done: true, que indica que a operação está concluído. Se o repositório do data center do Bitbucket estiver conectado é possível conferir o repositório conectado na response.bitbucketServerConnectedRepositories. Caso contrário, consulte a error para um relatório de erros detalhado.

Quando um repositório é conectado, o Cloud Build configura um webhook o repositório na sua instância do data center do Bitbucket. Em seguida, o repositório envia webhooks para invocar os gatilhos do data center do Bitbucket correspondente quando que você faça alterações no repositório. Também é possível conectar um repositório várias vezes com diversas conexões de host. Para aprender a gerenciar webhooks, consulte Gerenciar webhooks.

Para localizar o webhook, você precisa do ID dele. O ID do webhook de cada repositório conectado pode ser encontrado no BitbucketServerConfig.

Digite o seguinte comando para recuperar o ID do webhook:

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

Em que:

  • CONFIG_NAME é o nome dos dados do Bitbucket. Configuração da central
  • REGION é a região dos dados do Bitbucket. Conexão de host central

A seguir