Faça a associação a um repositório do Bitbucket Data Center

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

Antes de começar

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

    Enable the APIs

Faça a associação a um repositório do Bitbucket Data Center

Consola

Para associar um repositório do Bitbucket Data Center 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 Data Center.

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

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

    2. Em Selecione o fornecedor de gestão de código fonte, selecione Bitbucket Data Center.

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

    4. Clique em Continuar.

    5. Em Select Repository, selecione os repositórios do Bitbucket Data Center que quer associar ao Cloud Build.

    6. Depois de selecionar a sua conta e repositórios do Bitbucket Data Center, 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.

  5. Clique em Concluído. Opcionalmente, clique em Criar um acionador para criar um acionador.

API

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

  1. Crie um ficheiro 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",
           }
         }
      }
    }
    

    Onde:

    • PROJECT_NUMBER é o número do projeto do seu projeto na nuvem.
    • REGION é a região associada à sua configuração do Bitbucket Data Center.
    • BITBUCKET_DATA_CENTER_CONFIG_NAME é o nome da configuração do Bitbucket Data Center.
    • PROJECT_KEY é a chave do seu projeto do Bitbucket Data Center. 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ão é semelhante a https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}.
    • REPO_SLUG é o slug do seu repositório do Bitbucket Data Center.
  2. Execute o seguinte comando curl no terminal a partir do mesmo diretório que o ficheiro 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

Onde:

  • PROJECT_NUMBER é o número do seu projeto Google Cloud .
  • PROJECT_ID é o seu Google Cloud ID do projeto.
  • REGION é a região associada à sua configuração do Bitbucket Data Center.
  • BITBUCKET_DATA_CENTER_CONFIG_NAME é o nome da configuração do Bitbucket Data Center. Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada de Operation.
  1. Execute 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 Google Cloud .
    • PROJECT_ID é o seu Google Cloud ID.
    • REGION é a região associada à sua configuração do Bitbucket Data Center.
    • OPERATION_ID é o ID da operação de criação da configuração do Bitbucket Data Center. Pode encontrar o ID da operação no campo name da sua resposta. O formato do campo name na sua resposta tem o seguinte aspeto: 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 Data Center 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.

Quando um repositório está associado, o Cloud Build configura um webhook no repositório na sua instância do Bitbucket Data Center. Em seguida, o repositório envia webhooks para invocar os acionadores do Bitbucket Data Center correspondentes quando faz alterações ao 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 Data Center
  • REGION é a região da ligação do anfitrião do Bitbucket Data Center

O que se segue?