Esta página explica como estabelecer ligação a um repositório do Bitbucket Server 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 Server antes de associar repositórios.
Estabelecer ligação a um repositório do Bitbucket Server
Consola
Para associar um repositório do Bitbucket Server 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 Server.
É apresentado o painel Associar repositório. Conclua os seguintes passos para associar o seu repositório do Bitbucket Server:
Região: selecione uma região em que a sua ligação se encontra.
Em Selecionar fornecedor de gestão de código fonte, selecione Bitbucket Server.
Associação de anfitrião: selecione o nome da associação de anfitrião no menu pendente.
Clique em Continuar.
Em Selecionar repositório, selecione os repositórios do Bitbucket Server que quer associar ao Cloud Build.
Depois de selecionar a sua conta e repositórios do Bitbucket Server, 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.
Quando um repositório está associado, o Cloud Build configura um webhook no repositório na sua instância do Bitbucket Server. O repositório envia, em seguida, webhooks para invocar os acionadores do Bitbucket Server correspondentes quando faz alterações ao seu 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 Server
- REGION é a região da ligação do anfitrião do Bitbucket Server
Clique em Concluído. Opcionalmente, clique em Criar um acionador para criar um acionador.
API
Para associar o seu repositório do Bitbucket Server ao Cloud Build através da API, conclua os seguintes passos:
Use o modelo JSON abaixo para associar o seu repositório:
{ "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME", "requests": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME", "bitbucketServerConnectedRepository": { "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_SERVER_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 à configuração do Bitbucket Server.
- BITBUCKET_SERVER_CONFIG_NAME é o nome da sua configuração do Bitbucket Server.
- PROJECT_KEY é a chave do seu projeto do Bitbucket Server.
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ões pode ter o seguinte aspeto:https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG é o slug do seu repositório do Bitbucket Server.
Introduza o seguinte comando
curl
no terminal: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_SERVER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json
Onde:
- PROJECT_NUMBER é o número do seu projeto na nuvem.
- PROJECT_ID é o ID do seu projeto do Google Cloud.
- REGION é a região associada à configuração do Bitbucket Server.
- BITBUCKET_SERVER_CONFIG_NAME é o nome da configuração do Bitbucket Server.
Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada de Operation.
Introduza 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 na nuvem.
- PROJECT_ID é o ID do seu projeto do Google Cloud.
- REGION é a região associada à configuração do Bitbucket Server.
- OPERATION_ID é o ID da operação de criação da configuração do Bitbucket Server.
Pode encontrar o ID da operação no campo
name
da sua resposta. O formato do camponame
na sua resposta é semelhante ao seguinte: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 Server 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.
O que se segue?
- Saiba como criar repositórios a partir do Bitbucket Server.
- Saiba como criar repositórios a partir do Bitbucket Server numa rede privada.
- Saiba como fazer implementações azul/verde no Compute Engine.