Esta página explica como conectar um Data center do Bitbucket host no Cloud Build.
Antes de começar
-
Ative as APIs Cloud Build, Secret Manager, and Compute Engine.
- Prepare o código-fonte em um repositório do data center do Bitbucket.
- Ter um
Dockerfile
ou um Arquivo de configuração do Cloud Build no repositório de origem do data center do Bitbucket. - Se você não instalou uma instância do data center do Bitbucket, consulte Instale o data center do Bitbucket para ver as instruções.
Para usar os comandos do
gcloud
nesta página, instale a Google Cloud CLI.
Conectar-se a um host de data center do Bitbucket
Console
Para conectar o host do 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 host.
Selecione Bitbucket Data Center no menu suspenso.
Você verá o painel Conectar host.
Insira as informações a seguir para conectar seu Bitbucket Instância do data center para o Cloud Build:
Região: selecione a região da sua conexão.
Nome: digite um nome para a conexão.
URL do host: o URL do host da sua instância do Data Center do Bitbucket. Por exemplo,
https://bbs.example-test.com:7990
.Google Cloud API key: insira a chave de API usada para autenticar sua credenciais.
AC Certificate: seu certificado autoassinado. Seu certificado não pode ter mais de 10 KB e estar no formato PEM (
.pem
,.cer
ou.crt
). Se você deixar esta seção em branco, o Google Cloud vai usar um certificado do conjunto padrão de certificados.Nome de usuário: seu nome de usuário da conta do data center do Bitbucket. Esta conta devem ter acesso de administrador aos repositórios conectar ao Cloud Build.
Token de acesso de leitura: insira o endereço pessoal da conta do data center do Bitbucket token de acesso com permissões de leitura.
Token de acesso de administrador: insira sua conta do data center do Bitbucket. token de acesso pessoal com permissões de administrador em projetos e repositórios.
Em Tipo de rede, selecione uma das seguintes opções:
Internet pública: selecione esta opção se a instância for acessíveis pela Internet pública.
Rede privada: selecione esta opção se a instância estiver hospedada em uma rede privada.
Projeto: selecione o ID do projeto do Google Cloud.
Rede: selecione sua rede no menu suspenso. Se você não tiver criado uma rede, consulte Criar e gerenciar redes VPC redes para saber como criar uma rede.
Intervalo de IP: insira o intervalo de IP interno que pode ser atribuído às VMs em um intervalo alocado em uma rede com peering.
É possível especificar o intervalo usando a notação de roteamento do roteamento entre domínios sem classe (CIDR) no formato
STARTING_IP/SUBNET_PREFIX_SIZE
. Por exemplo,192.0.2.0/24
tem um comprimento de prefixo de 24. Os primeiros 24 bits do intervalo de IP são usados como máscara de sub-rede (192.0.2.0
), enquanto os possíveis endereços de host variam de192.0.2.0
a192.0.2.255
.O valor do comprimento do prefixo não pode exceder
/29
. Em caso negativo for especificado para o intervalo, um valor padrão/24
será atribuído automaticamente. Se nenhum valor for especificado para o tamanho do prefixo, os endereços IP serão atribuídos automaticamente na rede VPC com peering. Se nenhum valor for especificado para o IP endereço IP recebe automaticamente um intervalo dentro da rede VPC com peering.
Clique em Conectar host.
Se a instância do data center do Bitbucket estiver em uma rede com peering, conecte o host pode levar vários minutos para concluir.
O painel Conectar repositório será aberto.
Depois de criar uma conexão de host, seus tokens de acesso pessoais e o secret do webhook será armazenado com segurança no Secret Manager. É possível consultar e gerenciar os secrets no Secret Manager página.
gcloud
Para conectar o host do data center do Bitbucket ao Cloud Build
usando os comandos gcloud
, execute o
gcloud alpha builds enterprise-config bitbucketserver create
no seu terminal. Diferentemente de conectar seu host usando o
console do Google Cloud, você vai precisar armazenar manualmente
de acesso a tokens de acesso e o secret do webhook no Secret Manager antes de executar o seguinte comando:
gcloud alpha builds enterprise-config bitbucketserver create
--name=BITBUCKET_DATA_CENTER_CONFIG_NAME \
--user-name=USERNAME \
--host-uri=HOST_URI \
--admin-access-token-secret-version=ADMIN_ACCESS_TOKEN_SECRET_VERSION \
--read-access-token-secret-version=READ_ACCESS_TOKEN_SECRET_VERSION \
--webhook-secret-secret-version=WEBHOOK_SECRET_SECRET_VERSION \
--api-key=API_KEY \
--peered-network=PEERED_NETWORK \
--peered-network-ip-range=PEERED_NETWORK_IP_RANGE \
--ssl-ca-file=SSL_CA_FILE
Em que:
- BITBUCKET_DATA_CENTER_CONFIG_NAME é o nome do Configuração do data center do Bitbucket.
- USERNAME é seu nome de usuário do data center do Bitbucket.
- HOST_URI é o URI do host da instância do data center do Bitbucket.
- ADMIN_ACCESS_TOKEN_SECRET_VERSION é o nome do recurso da
token de acesso de administrador armazenado no Secret Manager. A
formato esperado para secrets armazenados no Secret Manager
é
projects/${PROJECT_ID}/secrets/${SECRET_NAME}/versions/${VERSION_NUMBER}
. Você pode especificarlatest
como sua versão para usar a versão mais recente do seu segredo. Isso se aplica a cada recurso armazenado com o Secret Manager.
- READ_ACCESS_TOKEN_SECRET_VERSION é o nome do recurso da token de acesso somente leitura armazenado no Secret Manager.
- WEBHOOK_SECRET_SECRET_VERSION é o nome do recurso da do secret do webhook armazenado no Secret Manager.
- API_KEY é a chave de API do Google Cloud.
Opcional: PEERED_NETWORK é a rede VPC para se conectar às instâncias do Data Center do Bitbucket no local. Para saber mais, consulte Criar repositórios no Data Center do Bitbucket em uma rede particular.
Opcional: PEERED_NETWORK_IP_RANGE é o IP interno. em que as VMs podem ser atribuídas dentro de um intervalo alocado em uma rede com peering.
SSL_CA_FILE é o caminho para um arquivo local que contém seu certificado SSL a ser usado nas solicitações ao data center do Bitbucket. O certificado precisa estar no formato PEM.
API
Para conectar o host do data center do Bitbucket ao Cloud Build usando a API, use o modelo JSON a seguir. Ao contrário de conectar sua host usando o console do Google Cloud, você precisa armazenar manualmente acessar tokens de acesso e o secret do webhook no Secret Manager antes de chamar a API:
{
"hostUri": "HOST_URI",
"username": "USERNAME",
"apiKey": "API_KEY",
"secrets": {
"adminAccessTokenVersionName": "ADMIN_ACCESS_TOKEN_SECRET_VERSION",
"readAccessTokenVersionName": "READ_ACCESS_TOKEN_SECRET_VERSION",
"webhookSecretVersionName": "WEBHOOK_SECRET_SECRET_VERSION",
},
"peeredNetwork": "PEERED_NETWORK",
"peeredNetworkIpRange": "PEERED_NETWORK_IP_RANGE",
"sslCa": "SSL_CERTIFICATE"
}
Em que:
- HOST_URI é o URI do host da instância do data center do Bitbucket.
- USERNAME é seu nome de usuário do data center do Bitbucket.
- API_KEY é a chave de API do Google Cloud.
ADMIN_ACCESS_TOKEN_SECRET_VERSION é o nome do recurso da token de acesso de administrador armazenado no Secret Manager. Você talvez seja necessário conceder o papel conta de serviço do Cloud Build,
service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com
: Para para saber mais, consulte Como conceder o papel Secret Manager conta de serviço.READ_ACCESS_TOKEN_SECRET_VERSION é o nome do recurso. do token de acesso de leitura armazenado no Secret Manager.
WEBHOOK_SECRET_SECRET_VERSION é o nome do recurso do do secret do webhook armazenado no Secret Manager.
Opcional: PEERED_NETWORK é a VPC. rede para fazer peering das instâncias do data center do Bitbucket no local.
Para especificar o intervalo, use o roteamento entre domínios sem classe (CIDR) de roteamento no formato
STARTING_IP/SUBNET_PREFIX_SIZE
. Por exemplo:192.0.2.0/24
tem um comprimento de prefixo de 24. Os primeiros 24 bits do intervalo de IP são usados como máscara de sub-rede (192.0.2.0
), enquanto os possíveis endereços de host de192.0.2.0
a192.0.2.225
.Opcional: PEERED_NETWORK_IP_RANGE é o IP interno. em que as VMs podem ser atribuídas dentro de um intervalo alocado em uma rede com peering.
Opcional: SSL_CERTIFICATE é o certificado SSL usado para as instâncias do data center do Bitbucket no local.
Digite o seguinte comando curl
no seu terminal:
curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/bitbucketServerConfigs/?bitbucketServerConfigId=BITBUCKET_DATA_CENTER_CONFIG_NAME -d @config.json
Em que:
- PROJECT_ID é o ID do projeto do Google Cloud.
- REGION é a região associada à configuração do data center do Bitbucket.
- BITBUCKET_DATA_CENTER_CONFIG_NAME é o nome da configuração do data center do Bitbucket.
Se a solicitação for bem-sucedida, o corpo da resposta incluirá uma instância de Operation.
Digite o seguinte comando curl
no seu 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 Google Cloud.
- PROJECT_ID é o ID do projeto no Google Cloud.
- REGION é a região associada à configuração do data center do Bitbucket.
- OPERATION_ID é o ID da operação de criação da configuração do data center do Bitbucket.
Talvez seja necessário continuar executando o comando da API GetOperation até que a resposta contenha done: true
, o que indica que a operação foi concluída. Se a configuração do data center do Bitbucket foi criada com sucesso, é possível vê-la no campo response.value
. Caso contrário, consulte o campo error
para um relatório de erros detalhado.
A seguir
- Saiba como conectar um repositório do data center do Bitbucket.
- Saiba como realizar implantações azul-verde no Compute Engine.