Nesta página, explicamos como conectar um repositório do Bitbucket Data Center ao Cloud Build.
Antes de começar
-
Enable the Cloud Build, Secret Manager, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
- Siga as instruções para conectar um host do Bitbucket Data Center antes de se conectar a um repositório.
Conectar-se a um repositório do Bitbucket Data Center
Console
Para conectar um repositório do Bitbucket Data Center ao Cloud Build usando o console Google Cloud :
Abra a página Repositórios no console do Google Cloud .
Na parte de cima da página, selecione a guia 1ª geração.
Clique em Conectar repositório.
Selecione Data Center do Bitbucket.
O painel Conectar repositório vai aparecer. Conclua as etapas a seguir para conectar seu repositório do Bitbucket Data Center:
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 do host: selecione o nome da conexão do host no menu suspenso.
Clique em Continuar.
Em Selecionar repositório, escolha 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 Cloud.
- REGION é a região associada à 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 você quiser conectar um repositório pessoal, a chave do projeto
precisa conter o símbolo de til (
~
) antes do seu nome de usuário. Por exemplo,~${USERNAME}
. O URL completo de um repositório host é 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 no mesmo diretório do 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 é o número do projeto Google Cloud .
- PROJECT_ID é o Google Cloud ID do projeto.
- REGION é a região associada à configuração do Bitbucket Data Center.
- BITBUCKET_DATA_CENTER_CONFIG_NAME é o nome da configuração do Bitbucket Data Center. Se a solicitação for bem-sucedida, o corpo da resposta vai conter 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
Em que:
- PROJECT_NUMBER é o número do projeto Google Cloud .
- PROJECT_ID é o ID do Google Cloud .
- REGION é a região associada à configuração do Bitbucket Data Center.
- OPERATION_ID é o ID da operação de criação da configuração do Bitbucket Data Center. Você pode encontrar o ID da operação no campo
name
da resposta. O formato do camponame
na sua resposta é assim: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 estiver conectado corretamente, ele vai aparecer no camporesponse.bitbucketServerConnectedRepositories
. Caso contrário, consulte o campoerror
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 correspondentes do Bitbucket Data Center quando você faz mudanças no repositório. Um repositório também pode ser conectado várias vezes com várias conexões de host. Para saber como 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 da configuração do Bitbucket Data Center.
- REGION é a região da conexão do host do Bitbucket Data Center.
A seguir
- Saiba como criar repositórios do Bitbucket Data Center.
- Saiba como criar repositórios do Bitbucket Data Center em uma rede particular.
- Saiba como fazer implantações azul-verde no Compute Engine.