Crie repositórios a partir do Bitbucket Data Center

O Cloud Build permite-lhe criar acionadores para compilar a partir de repositórios alojados no Bitbucket Data Center. Pode executar compilações em resposta a eventos como envios de commits ou pedidos de união associados ao seu repositório do Bitbucket Data Center.

Esta página explica como pode ativar acionadores de compilação para uma instância do Bitbucket Data Center. Para mais informações, consulte os Acionadores do Cloud Build e os Repositórios do Cloud Build.

Antes de começar

  • Enable the Cloud Build and Secret Manager APIs.

    Enable the APIs

Para criar um acionador para um repositório do Bitbucket Data Center, tem de ter uma ligação entre o Google Cloud e o seu repositório. Google Cloud Para criar uma ligação através da app Bitbucket Data Center no Google Cloud, consulte o artigo Ligue-se a um repositório do Bitbucket Data Center.

Crie um acionador do Bitbucket Data Center

Esta secção explica como pode associar os seus repositórios do Bitbucket Data Center ao Cloud Build e criar um acionador para invocar automaticamente compilações nos seus repositórios associados. Se quiser usar acionadores do Bitbucket Data Center numa rede privada, consulte o artigo Criar repositórios a partir do Bitbucket Data Center numa rede privada para ver mais instruções.

Google Cloud consola

Para criar acionadores do Bitbucket Data Center através da Google Cloud consola, faça o seguinte:

  1. Abra a página Acionadores na Google Cloud consola.

    Abra a página Acionadores

  2. Selecione o seu Google Cloud projeto e clique em Abrir.

  3. Clique em Criar acionador.

  4. Introduza as seguintes definições do acionador:

    • Nome: introduza um nome para o acionador.

    • Região: selecione a região para o seu acionador.

      • Se o ficheiro de configuração de compilação associado ao acionador especificar um pool privado, o Cloud Build usa o pool privado para executar a compilação. Neste caso, a região especificada no acionador tem de corresponder à região onde criou o seu conjunto privado.
      • Se o ficheiro de configuração de compilação associado ao acionador não especificar um conjunto privado, o Cloud Build usa o conjunto predefinido para executar a compilação na mesma região que o acionador.

    • Descrição (opcional): introduza uma descrição para o acionador.

    • Evento: selecione o evento do repositório para invocar o acionador.

      • Enviar para um ramo: defina o acionador para iniciar uma compilação em commits para um ramo específico.

      • Enviar nova etiqueta: defina o acionador para iniciar uma compilação em commits que contenham uma etiqueta específica.

      • Pedido de envio: defina o seu acionador para iniciar uma compilação em commits para um pedido de envio.

    • Origem: configure informações sobre o seu repositório do Bitbucket Data Center:

      • Serviço de repositório: selecione repositórios do Cloud Build.

      • Geração de repositórios: selecione Developer Connect como origem.

      • Repositório: na lista de repositórios disponíveis, selecione o repositório.

      • Branch ou Tag: especifique uma expressão regular com o valor da ramificação ou da etiqueta a corresponder. Para obter informações sobre a sintaxe de expressões regulares aceitável, consulte a sintaxe RE2.

      • Controlo de comentários: se selecionou Pedido de obtenção como o seu Evento, escolha uma das seguintes opções para controlar se uma compilação é executada automaticamente pelo acionador:

        • Obrigatório, exceto para proprietários e colaboradores: quando um proprietário ou um colaborador do repositório cria ou atualiza um pedido de obtenção, as compilações são executadas automaticamente pelo acionador. Se um colaborador externo iniciar a ação, as compilações só são executadas depois de um proprietário ou um colaborador comentar /gcbrun no pedido de envio.

        • Obrigatório: quando um pedido de obtenção é criado ou atualizado por qualquer colaborador, as compilações só são executadas depois de um proprietário ou um colaborador comentar /gcbrun no pedido de obtenção. As compilações são executadas sempre que é feita uma alteração a um pedido de obtenção.

        • Não obrigatório: quando um pedido de obtenção é criado ou atualizado por qualquer colaborador, as compilações são executadas automaticamente por acionadores.

    • Configuração: selecione o ficheiro de configuração de compilação localizado no seu repositório ou configure a compilação inline no acionador.

    • Tipo: selecione o tipo de configuração a usar para a sua compilação.

      • Ficheiro de configuração do Cloud Build (YAML ou JSON): use um ficheiro de configuração de compilação para a sua configuração.
      • Dockerfile: use um Dockerfile para a sua configuração.
    • Localização: especifique a localização da configuração.

      • Repositório: se o ficheiro de configuração estiver localizado no seu repositório, indique a localização do ficheiro de configuração de compilação ou do Dockerfilediretório e um nome para a imagem resultante. Se a sua configuração for um Dockerfile, pode fornecer opcionalmente um limite de tempo para a compilação. Quando tiver indicado o Dockerfile e o nome da imagem, é apresentada uma pré-visualização do comando docker build para a sua compilação.

      • Inline: se selecionou Ficheiro de configuração do Cloud Build (YAML ou JSON) como opção de configuração, pode especificar a configuração de compilação inline. Clique em Abrir editor para escrever o ficheiro de configuração de compilação na Google Cloud consola com a sintaxe YAML ou JSON. Clique em Concluído para guardar a configuração de compilação.

  5. Clique em Criar para criar o acionador do Bitbucket Cloud.

CLI gcloud

Para criar acionadores do Bitbucket Data Center com comandos gcloud, execute o seguinte comando:

    gcloud alpha builds triggers create developer connect
      --name=TRIGGER_NAME \
      --git-repository-link=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/gitRepositoryLinks/REPO_NAME \
      --branch-pattern=BRANCH_PATTERN # or --tag-pattern=TAG_PATTERN \
      --build-config=BUILD_CONFIG_FILE \
      --region=REGION \
      --service-account=SERVICE-ACCOUNT

Onde:

  • TRIGGER_NAME é o nome do acionador.
  • PROJECT_ID é o ID do seu Google Cloud projeto.
  • REGION é a região do seu acionador.
  • CONNECTION_NAME é o nome da sua associação do Bitbucket Data Center.
  • GIT_REPOSITORY_LINK é o link para o seu repositório Git.
  • BRANCH_PATTERN é o nome do ramo no seu repositório para invocar a compilação.
  • TAG_PATTERN é o nome da etiqueta no seu repositório para invocar a compilação.
  • BUILD_CONFIG_FILE é o caminho para o ficheiro de configuração de compilação.
  • SERVICE-ACCOUNT é a conta de serviço a usar para operações de acionamento e compilação.

API

Para criar um acionador 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/REGION/bitbucketServerConfigs/ID"
        "comment_control": "COMMENT_SETTING"
    }
}

Onde:

  • REPO_SLUG é o slug do seu repositório do Bitbucket Server. Para mais informações, consulte o guia da Bitbucket sobre slugs de repositórios.
  • PROJECT_KEY é a chave do seu projeto do Bitbucket Server. PROJECT_KEY é sensível a maiúsculas e minúsculas.
  • BRANCH_NAME é a expressão regular da sua ramificação se quiser definir o acionador para criar determinadas ramificações.
  • TAG_NAME é a expressão regular da sua etiqueta se quiser definir o acionador para criar determinadas etiquetas.
  • PROJECT_NUMBER é o número do projeto do seu projeto na nuvem.
  • REGION é a região associada à configuração do Bitbucket Server.
  • ID é o ID do seu BitbucketServerConfig.
  • COMMENT_SETTING é a definição para controlar se os acionadores de compilação requerem /gcbrun num comentário para que a compilação seja executada. Para mais informações, consulte commentControl.

Introduza o seguinte comando curl no 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

Onde:

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

Partilha de dados

Os dados enviados para o Bitbucket Data Center a partir do Cloud Build ajudam a identificar acionadores por nome e a ver os resultados da compilação nos seus repositórios do Bitbucket Data Center.

Os seguintes dados são partilhados entre o Cloud Build e o seu anfitrião do Bitbucket Data Center:

  • Google Cloud ID do projeto
  • Nome do acionador

A partilha de dados é ativada automaticamente para o Bitbucket Data Center.

O que se segue?