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.
- Siga as instruções para conectar um host do data center do Bitbucket antes de conectar um repositório.
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:
Abra a página Repositórios no console do Google Cloud.
Na parte de cima da página, selecione a guia 1a geração.
Clique em Conectar repositório.
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:
Região: selecione a região em que sua conexão está.
Em Selecionar provedor de gerenciamento de código-fonte, selecione Bitbucket Data center.
Conexão de host: selecione o nome da sua conexão de host no no menu suspenso.
Clique em Continuar.
Em Selecionar repositório, selecione os repositórios do data center do Bitbucket que você quer conectar ao Cloud Build.
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.
Clique em Conectar para conectar seus repositórios.
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:
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 ahttps://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG é o lesma do repositório do data center do Bitbucket.
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.
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 camponame
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émdone: 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 naresponse.bitbucketServerConnectedRepositories
. Caso contrário, consulte aerror
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
- Saiba como criar repositórios no Data Center do Bitbucket.
- Saiba como criar repositórios do data center do Bitbucket em uma rede particular.
- Saiba como realizar implantações azul-verde no Compute Engine.