Esta página explica como se conectar a um repositório do data center do Bitbucket. para o Cloud Build.
Antes de começar
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
- Siga as instruções para conectar um host do Bitbucket Data Center antes de conectar um repositório.
Conectar-se a um repositório do Bitbucket Data Center
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 Bitbucket Data Center que você quer conectar ao Cloud Build.
Depois de selecionar sua conta e os repositórios do Bitbucket Data Center, leia a exoneração de responsabilidade de consentimento e marque a caixa de seleção ao lado para indicar que você aceita os termos apresentados.
Clique em Conectar para conectar seus repositórios.
Clique em Concluído. Se quiser, clique em Criar um gatilho.
API
Para conectar seu repositório do Bitbucket Data Center 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 associada à configuração do Bitbucket Data Center.
- 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, 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 de host é semelhante ahttps://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG é o slug do repositório do Bitbucket Data Center.
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; associados à 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 a solicitação for concluída, o corpo da resposta vai conter uma instância recém-criada de Operation.
Execute o comando
curl
a seguir 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
Em que:
- PROJECT_NUMBER é seu projeto do Google Cloud número
- PROJECT_ID é seu ID do Google Cloud.
- REGION é a região associada à configuração do Bitbucket Data Center.
- OPERATION_ID é o ID dos dados do Bitbucket.
Centralizar a operação de criação da configuração. Você pode encontrar o ID da operação
no campo
name
da resposta. O formato do camponame
na resposta é semelhante a este:projects/project-id/locations/region/operations/operation-id
.
Talvez seja necessário continuar executando o comando da API
GetOperation
até que a resposta contenhadone: true
, o que indica que a operação foi concluída. Se o repositório do Bitbucket Data Center for conectado com sucesso, ele vai aparecer no camporesponse.bitbucketServerConnectedRepositories
. Caso contrário, consulte aerror
para um relatório de erros detalhado.
Quando um repositório é conectado, 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 gatilhos do data center do Bitbucket correspondente quando que você faça alterações no repositório. Um repositório também pode ser conectado várias vezes com várias 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 extrair o ID do webhook:
gcloud alpha builds enterprise-config bitbucketserver describe CONFIG_NAME --region=REGION
Em que:
- CONFIG_NAME é o nome da configuração do Bitbucket Data Center.
- REGION é a região dos dados do Bitbucket. Conexão de host central
A seguir
- Saiba como criar repositórios do Bitbucket Data Center.
- Saiba como criar repositórios do data center do Bitbucket em uma rede particular.
- Saiba como realizar implantações azul-verde no Compute Engine.