Criar repositórios do Bitbucket Server

O Cloud Build permite criar gatilhos para o build Repositórios hospedados no Servidor Bitbucket, que permitem executar builds em resposta a eventos, como solicitações de envio ou envio de commit associadas ao repositório do servidor Bitbucket.

Esta página explica como ativar a funcionalidade do acionador em um Instância do Bitbucket Server.

Antes de começar

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

    Enable the APIs

Como criar um gatilho do Bitbucket Server

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

Console

Para criar um gatilho do Bitbucket Server 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 acionador precisa corresponder à região em que você criou o pool particular.
      • 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 Bitbucket Server.

      • 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, você pode escolher as configurações para controlar se eventos sem comentários exigem interação adicional para serem acionados builds. Escolha uma das seguintes opções para controlar se um build será executado automaticamente pelo gatilho:

        • Obrigatório, exceto para proprietários e colaboradores: quando um pull solicitação é criada ou atualizada por um proprietário do repositório ou um usuário com permissões de gravação, os builds serão executados o gatilho. Se um colaborador externo iniciar a ação, os builds só serão executados depois que um proprietário ou um usuário com permissões de gravação comentar /gcbrun na solicitação de envio. Consulte COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY

        • Obrigatório: se um usuário com permissões de gravação criar um pull e inclui /gcbrun na descrição da solicitação de envio, a versão é executada após a criação da solicitação de envio. Quando uma solicitação de envio é criada ou atualizada por qualquer outro colaborador, os builds só são executados depois que um proprietário ou um usuário com permissões de gravação comenta /gcbrun na solicitação de envio. Consulte COMMENTS_ENABLED.

        • Não obrigatório: quando uma solicitação de envio é criada ou atualizada pelo qualquer colaborador, os builds serão executados automaticamente pelo gatilhos. Consulte COMMENTS_DISABLED.

        No Bitbucket Server, eventos sem comentários incluem ações como como abrir, modificar e aprovar solicitações de envio.

        Eventos de comentários, que incluem adição, edição e exclusão. comentários, só acionará builds se o comentário for de um usuário com permissões de gravação ou superiores, e o comentário contiver /gcbrun.

        Para mais informações sobre os tipos de evento do Bitbucket Server, consulte Bitbucket documentação sobre como gerenciar webhooks.

    • 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 no repositório, forneça o local do arquivo de configuração do build ou do 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 de compilação in-line. Clique em Abrir editor para gravar 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 da compilação.

  5. Clique em Criar para criar o gatilho do Bitbucket Server.

gcloud

Para criar um gatilho do Bitbucket Server usando os 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 do Bitbucket Server. PROJECT_KEY diferencia maiúsculas de minúsculas.
  • REPO_SLUG é o slug do seu repositório do Bitbucket Server. Para mais informações, consulte Guia do Bitbucket sobre lesmas de repositório (em inglês).
  • PROJECT_NUMBER é o número do projeto do do Google Cloud.
  • REGION é a região associada à configuração do Bitbucket Server.
  • ID é o ID do BitbucketServerConfig.
  • BRANCH_NAME é uma expressão regular que corresponde à ramificação, se você quiser para definir o gatilho e criar determinadas ramificações.
  • TAG_NAME é uma expressão regular que corresponde à sua tag se você quiser definir seu gatilho para criar determinadas tags.
  • BUILD_CONFIG é o caminho para seu arquivo de configuração do build.

API

Para criar um gatilho do Bitbucket Server 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"
        "comment_control": "COMMENT_SETTING"
    }
}

Em que:

  • REPO_SLUG é o slug do seu repositório do Bitbucket Server. Para mais informações, consulte Guia do Bitbucket sobre lesmas de repositório (em inglês).
  • PROJECT_KEY é a chave do seu projeto do Bitbucket Server. PROJECT_KEY diferencia maiúsculas de minúsculas.
  • BRANCH_NAME é a expressão regular da ramificação, se você quiser para definir o gatilho e criar determinadas ramificações.
  • TAG_NAME é a expressão regular da tag se você quiser definir o gatilho para criar determinadas tags.
  • PROJECT_NUMBER é o número do projeto do do Google Cloud.
  • REGION é a região associada à configuração do Bitbucket Server.
  • ID é o ID do BitbucketServerConfig.
  • COMMENT_SETTING é a configuração que controla se os gatilhos de build exigem /gcbrun em um comentário para que o build seja executado. Para mais consulte commentControl.

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" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json

Em que:

  • PROJECT_NUMBER é o número do projeto do Google Cloud.
  • PROJECT_ID é o ID do projeto no Google Cloud.

Compartilhamento de dados

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

Os dados a seguir são compartilhados entre o Cloud Build e o Bitbucket Server:

  • ID do projeto do Google Cloud
  • Nome do gatilho

O compartilhamento de dados é ativado automaticamente no Bitbucket Server.

A seguir