Criar repositórios do Bitbucket Data Center

O Cloud Build permite criar gatilhos de compilação a partir de repositórios hospedados no Bitbucket Data Center, permitindo que você execute versões em resposta a eventos, como envio push de solicitações ou solicitações de envio associadas ao seu repositório do Data Center do Bitbucket.

Nesta página, explicamos como ativar a funcionalidade de gatilho em uma instância do Data Center do Bitbucket.

Antes de começar

  • Ative as APIs Cloud Build, Secret Manager, and Compute Engine.

    Ative as APIs

Como criar um gatilho do Data Center do Bitbucket

Nesta seção, explicamos como conectar os repositórios do Data Center do Bitbucket ao Cloud Build e criar um gatilho para invocar automaticamente builds nos seus repositórios conectados. Se você quiser usar gatilhos do Bitbucket Data Center em uma rede privada, consulte Como criar repositórios do Bitbucket Data Center em uma rede particular para mais instruções.

Console

Para criar um gatilho do Bitbucket Data Center usando o Console do Google Cloud:

  1. Acesse a página Gatilhos:

    Abrir a página Acionadores

  2. Selecione seu projeto na parte superior da página e clique em Abrir.

  3. Clique em Criar gatilho.

  4. Preencha as configurações de gatilho a seguir:

    • Nome: nome do acionador.

    • Região: selecione a região do acionador.

      • Se você selecionar global como a região, o Cloud Build usará o pool padrão para executar seu build.
      • Se você selecionar uma região não global e o arquivo de configuração do build associado ao gatilho especificar um pool privado, o Cloud Build usará o pool privado para executar a versão. Nesse caso, a região especificada no gatilho precisa corresponder à região onde você criou o pool privado.
      • Se você selecionar uma região não global e o arquivo de configuração do build associado ao gatilho não especificar um pool privado, o Cloud Build usará o pool padrão para executar a versão na mesma região do gatilho.
    • Descrição (opcional): uma descrição do gatilho.

    • Evento: selecione o evento de repositório para invocar seu gatilho.

      • Enviar para uma ramificação: defina o gatilho para iniciar um build em confirmações de uma ramificação específica.

      • Enviar nova tag por push: configure o gatilho para iniciar um build em confirmações que contenham uma tag específica.

      • Solicitação de envio (o Cloud Source Repositories não é compatível): defina o gatilho para iniciar uma versão em confirmações de uma solicitação de envio.

    • Origem: selecione o repositório a ser criado quando o gatilho do Bitbucket Data Center for executado.

    • Revisão: selecione a ramificação ou a tag a ser criada quando o gatilho do Bitbucket Data Center for executado.

    • Branch: definir um gatilho para criar a ramificação.

    • Tag: defina um acionador para criar a tag.

    • Configuração: selecione o arquivo de configuração do build localizado no seu repositório ou configure o build in-line no acionador.

    • Tipo: selecione o tipo de configuração a ser usado para seu build.

      • Arquivo de configuração do Cloud Build (yaml ou json): use um arquivo de configuração do build na sua configuração.
      • Dockerfile: use um Dockerfile para sua configuração.
    • Local: especifique o local de configuração.

      • Repositório: se o arquivo de configuração estiver no repositório, forneça o local do arquivo de configuração do build ou o diretório Dockerfile e um nome para a imagem resultante. Se sua configuração for um Dockerfile, você poderá fornecer um tempo limite para a criação. Depois de fornecer o Dockerfile e o nome da imagem, você verá uma visualização do comando docker build que sua o build executará.

      • Inline: se você selecionou o arquivo de configuração do Cloud Build (yaml ou json) como opção de configuração, pode especificar a configuração do build inline. Clique em Abrir editor para escrever o arquivo de configuração do build no console do Google Cloud usando a sintaxe YAML ou JSON. Clique em Concluído para salvar a configuração do build.

  5. Clique em Criar para criar o gatilho do Data Center do Bitbucket.

gcloud

Para criar um gatilho do Bitbucket Data Center usando os comandos do gcloud, é necessário executar o comando gcloud alpha builds triggers create bitbucketserver a seguir no terminal:

gcloud alpha builds triggers create bitbucketserver
--name=TRIGGER_NAME \
--project-key=PROJECT_KEY \
--repo-slug=REPO_SLUG \
--bitbucket-server-config-resource=projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/ID \
--branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
--build-config=BUILD_CONFIG

Em que:

  • TRIGGER_NAME é o nome do gatilho.
  • PROJECT_KEY é a chave do seu projeto do data center do Bitbucket.
  • REPO_SLUG é o slug do seu repositório do data center do Bitbucket.
  • PROJECT_NUMBER é o número do seu projeto do Cloud.
  • ID é o ID do BitbucketServerConfig.
  • BRANCH_NAME é o regex da ramificação se você quiser definir o gatilho para criar determinadas ramificações.
  • TAG_NAME é o regex da tag se você quer definir o acionador para criar determinadas tags.
  • BUILD_CONFIG é o caminho para seu arquivo de configuração do build.

API

Para criar um gatilho do Bitbucket Data Center com a API, use o seguinte modelo JSON.

    {
      "filename": "cloudbuild.yaml",
      "name": "curl-trigger",
      "description": "curl trigger",
      "bitbucket_server_trigger_config": {
          "repo_slug": REPO_SLUG,
          "project_key": PROJECT_KEY,
          "push": {
             "branch": BRANCH_NAME # "tag": TAG_NAME
          },
          "bitbucket_server_config_resource": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/ID"
      }
  }

Em que:

  • PROJECT_KEY é a chave do seu projeto do data center do Bitbucket.
  • REPO_SLUG é o slug do seu repositório do data center do Bitbucket.
  • PROJECT_NUMBER é o número do seu projeto do Cloud.
  • ID é o ID do BitbucketServerConfig.
  • BRANCH_NAME é o regex da ramificação se você quiser definir o gatilho para criar determinadas ramificações.
  • TAG_NAME é o regex da tag se você quer definir o acionador para criar determinadas tags.

Digite o seguinte comando curl no seu terminal, em que PROJECT_ID é o ID do projeto do Cloud:

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/triggers -d @trigger.json

Compartilhamento de dados

Os dados enviados ao Bitbucket Data Center do Cloud Build ajudam a identificar gatilhos por nome e ver os resultados da versão no Bitbucket Data Center.

No momento, os dados a seguir são compartilhados entre o Cloud Build e o Bitbucket Data Center:

  • Código do projeto do Cloud
  • Nome do gatilho

O compartilhamento de dados é ativado automaticamente para o Bitbucket Data Center.

A seguir