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.
- Siga as instruções para associar um anfitrião do Bitbucket Data Center antes de fazer a associação a um repositório.
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:
Abra a página Repositórios na Google Cloud consola.
Na parte superior da página, selecione o separador 1.ª geração.
Clique em Associar repositório.
Selecione Bitbucket Data Center.
É apresentado o painel Associar repositório. Conclua os passos seguintes para associar o seu repositório do Bitbucket Data Center:
Região: selecione a região em que a sua ligação se encontra.
Em Selecione o fornecedor de gestão de código fonte, selecione Bitbucket Data Center.
Associação de anfitrião: selecione o nome da associação de anfitrião no menu pendente.
Clique em Continuar.
Em Select Repository, selecione os repositórios do Bitbucket Data Center que quer associar ao Cloud Build.
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.
Clique em Associar para associar os seus repositórios.
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:
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 ahttps://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG é o slug do seu repositório do Bitbucket Data Center.
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.
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 camponame
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 conterdone: 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 camporesponse.bitbucketServerConnectedRepositories
. Caso contrário, consulte o campoerror
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?
- Saiba como criar repositórios a partir do Bitbucket Data Center.
- Saiba como criar repositórios a partir do Bitbucket Data Center numa rede privada.
- Saiba como fazer implementações azul/verde no Compute Engine.