Criar repositórios do Bitbucket Data Center

O Cloud Build permite criar gatilhos para criar em repositórios hospedados no Bitbucket Data Center, permitindo que você execute builds em resposta a eventos, como pushes de confirmação ou solicitações de pull associadas ao repositório do Bitbucket Data Center.

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

Antes de começar

  • Enable the Cloud Build, Secret Manager, and Compute Engine APIs.

    Enable the APIs

Criar um acionador do Bitbucket Data Center

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

Console

Para criar um gatilho de data center do Bitbucket 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 gatilho.

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

      • Se você selecionar global como região, O Cloud Build usa a configuração pool para executar seu build.
      • Se você selecionar uma região não global e o arquivo de configuração de build associado ao gatilho especificar um pool privado, o Cloud Build usa o pool para executar seu build. Nesse caso, a região especificada no gatilho precisa corresponder à região em que você criou o pool privado.
      • Se você selecionar uma região não global e o arquivo de configuração de build associado ao gatilho não especifica um pool privado, O Cloud Build usa a configuração pool para executar seu build na mesma região como 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: defina seu gatilho para iniciar uma compilação. em commits para uma solicitação de envio.

    • Origem: selecione 1a geração como sua origem.

      • Repositório: na lista de repositórios disponíveis, selecione um repositório de dados. Para conectar um novo repositório, consulte Conecte-se a um repositório do data center do Bitbucket.

      • Ramificação ou Tag: especifique uma expressão regular correspondente ao valor da ramificação ou da tag.

      • Controle de comentários: se você selecionou Solicitação de envio como seu Evento, escolha uma das seguintes opções para controla se uma versão será executada automaticamente pelo gatilho:

      • Obrigatório, exceto para proprietários e colaboradores: quando uma solicitação de envio for criada ou atualizada por um proprietário ou colaborador de repositório, os builds são executados automaticamente pelo gatilho. Se um colaborador externo iniciar a ação, os builds serão executadas somente depois que um proprietário ou colaborador comentar a /gcbrun na solicitação de envio.

      • Obrigatório: quando uma solicitação de envio é criada ou atualizada por qualquer colaborador, os builds só serão executados depois que um proprietário ou colaborador comentar /gcbrun na solicitação de envio. Os builds são executados sempre que uma mudança é feita em uma solicitação de envio.

      • Não necessário: quando uma solicitação de envio é criada ou atualizada por qualquer colaborador, os builds são executados automaticamente por gatilhos.

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

    • Type: selecione o tipo de configuração a ser usado para o 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 localizado no repositório, forneça a localização do arquivo de configuração do build ou o 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 de compilação in-line. Clique em Abrir editor para gravar seu arquivo de configuração de build no Console do Google Cloud usando sintaxe YAML ou JSON. Clique em Concluído para salvar a configuração da compilação.

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

gcloud

Para criar um gatilho do data center do Bitbucket usando comandos gcloud, você vai: é preciso executar o seguinte O comando gcloud builds triggers create bitbucketserver no seu terminal:

gcloud builds triggers create bitbucketserver
--name=TRIGGER_NAME \
--project-key=PROJECT_KEY \
--repo-slug=REPO_SLUG \
--bitbucket-server-config-resource=projects/PROJECT_NUMBER/locations/REGION/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 de data center do Bitbucket.
  • REPO_SLUG é o slug do seu repositório do data center do Bitbucket.
  • PROJECT_NUMBER é o número do projeto do projeto do Google Cloud.
  • REGION é a região associada à configuração do data center do Bitbucket.
  • ID é o ID do BitbucketServerConfig.
  • BRANCH_NAME é uma expressão regular que corresponde à sua ramificação se você quiser definir o acionador para criar determinadas ramificações.
  • TAG_NAME é uma expressão regular que corresponde à tag se quiser 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 data center do Bitbucket com a API, use o modelo JSON a seguir.

{
  "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/REGION/bitbucketServerConfigs/ID"
  }
}

Em que:

  • REPO_SLUG é o slug do seu repositório do data center do Bitbucket.
  • PROJECT_KEY é a chave do seu projeto de data center do Bitbucket.
  • BRANCH_NAME é a expressão regular que corresponde a ramificação se quiser definir o gatilho para criar determinadas ramificações.
  • TAG_NAME é a expressão regular que corresponde ao tag se quiser definir o acionador para criar determinadas tags.
  • PROJECT_NUMBER é o número do projeto do Google Cloud.
  • REGION é a região; associados à configuração do seu data center do Bitbucket.
  • ID é o ID do BitbucketServerConfig.

Digite o seguinte comando curl no seu terminal, em que PROJECT_ID é o ID do projeto do Google 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 data center do Bitbucket a partir do Cloud Build ajudam a identificar gatilhos por nome e conferir os resultados da versão nos repositórios do data center do Bitbucket.

Os dados a seguir são compartilhados entre o Cloud Build e seu data center do Bitbucket host:

  • ID do projeto do Google Cloud
  • Nome do gatilho

O compartilhamento de dados é ativado automaticamente para o data center do Bitbucket.

A seguir