Conectar-se a um host de data center do Bitbucket

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.

    Ative as APIs

  • 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:

  1. Abra a página Repositórios no console do Google Cloud:

    Abrir a página Repositórios

  2. Na parte de cima da página, selecione a guia 1a geração.

  3. Clique em Conectar host.

  4. 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:

    1. Região: selecione a região da sua conexão.

    2. Nome: digite um nome para a conexão.

    3. URL do host: o URL do host da sua instância do Data Center do Bitbucket. Por exemplo, https://bbs.example-test.com:7990.

    4. Google Cloud API key: insira a chave de API usada para autenticar sua credenciais.

    5. 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.

    6. 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.

    7. 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.

    8. 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.

    9. Em Tipo de rede, selecione uma das seguintes opções:

      1. Internet pública: selecione esta opção se a instância for acessíveis pela Internet pública.

      2. Rede privada: selecione esta opção se a instância estiver hospedada em uma rede privada.

        1. Projeto: selecione o ID do projeto do Google Cloud.

        2. 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.

        3. 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 de 192.0.2.0 a 192.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.

  5. 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. O formato esperado para secrets armazenados no Secret Manager é projects/${PROJECT_ID}/secrets/${SECRET_NAME}/versions/${VERSION_NUMBER}. Você pode especificar latest 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 de 192.0.2.0 a 192.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