Nesta página, explicamos como se conectar a um repositório do servidor Bitbucket ao 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 Bitbucket Server antes de conectar os repositórios.
Como se conectar a um repositório do Bitbucket Server
Console
Para conectar um repositório do Bitbucket Server 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 Servidor Bitbucket.
O painel Conectar repositório será exibido. Siga estas etapas para conectar o repositório do Bitbucket Server:
Região: selecione uma região em que sua conexão está.
Em Selecionar provedor de gerenciamento de código-fonte, escolha Servidor Bitbucket.
Conexão de host: selecione o nome da conexão de host no menu suspenso.
Clique em Continuar.
Em Selecionar repositório, selecione os repositórios do Bitbucket Server que você quer conectar ao Cloud Build.
Depois de selecionar a conta e os repositórios do Bitbucket Server, 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.
Quando um repositório é conectado, o Cloud Build configura um webhook nele na instância do Bitbucket Server. Em seguida, o repositório envia webhooks para invocar os acionadores do Bitbucket Server correspondentes quando você faz alterações 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 arquivo
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 Server.
- REGION é a região da conexão do host do Bitbucket Server.
Clique em Concluído. Se quiser, clique em Criar um acionador.
API
Para conectar seu repositório do Bitbucket Server ao Cloud Build usando a API, conclua as seguintes etapas:
Use o modelo JSON a seguir para conectar 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" } } } }
Em que:
- PROJECT_NUMBER é o número do projeto do Cloud.
- REGION é a região associada à configuração do Bitbucket Server.
- BITBUCKET_SERVER_CONFIG_NAME é o nome da configuração do servidor do Bitbucket.
- PROJECT_KEY é a chave do seu projeto do Bitbucket Server.
Se você quiser conectar um repositório pessoal, a chave do projeto precisa
conter o símbolo de til (
~
) antes do nome de usuário. Por exemplo,~${USERNAME}
. O URL completo de um repositório de host pode ser semelhante ahttps://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
. - REPO_SLUG é o slug (em inglês) do repositório do servidor do Bitbucket.
Digite 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
Em que:
- PROJECT_NUMBER é o número do projeto do Cloud.
- PROJECT_ID é seu ID do projeto do Cloud.
- REGION é a região associada à configuração do Bitbucket Server.
- BITBUCKET_SERVER_CONFIG_NAME é o nome da configuração do Bitbucket Server.
Se a solicitação for concluída, o corpo da resposta incluirá uma instância de Operation.
Digite 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 do Cloud.
- PROJECT_ID é seu ID do projeto do 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.
Encontre o ID da operação no campo
name
da sua resposta. O formato do camponame
na sua 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 Server foi conectado corretamente, você pode vê-lo no camporesponse.bitbucketServerConnectedRepositories
. Caso contrário, consulte o campoerror
para um relatório de erros detalhado.
A seguir
- Saiba como criar repositórios do Bitbucket Server.
- Saiba como criar repositórios do Bitbucket Server em uma rede privada.
- Saiba como realizar implantações azul-verde no Compute Engine.