O Cloud Build permite criar gatilhos para criar a partir de repositórios hospedados no Bitbucket Data Center. É possível executar builds em resposta a eventos, como pushes de confirmação ou solicitações de mesclagem associadas ao repositório do Bitbucket Data Center.
Nesta página, explicamos como ativar os gatilhos de build para uma instância do Bitbucket Data Center. Para mais informações, consulte Gatilhos do Cloud Build e Repositórios do Cloud Build.
Antes de começar
-
Enable the Cloud Build and Secret Manager APIs.
Para criar um acionador para um repositório do Bitbucket Data Center, é necessário ter uma conexão entre Google Cloud e o repositório. Para criar uma conexão pelo app do Bitbucket Data Center em Google Cloud, consulte Conectar-se a um repositório do Bitbucket Data Center.
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 Bitbucket Data Center em uma rede privada, consulte Como criar repositórios do Bitbucket Data Center em uma rede privada para mais instruções.
Console do Google Cloud
Para criar acionadores do Bitbucket Data Center usando o console Google Cloud , faça o seguinte:
Abra a página Gatilhos no console do Google Cloud .
Selecione o projeto Google Cloud e clique em Abrir.
Clique em Criar gatilho.
Preencha as configurações de gatilho a seguir:
Nome: insira um nome para o gatilho.
Região: selecione a região do acionador.
- Se o arquivo de configuração do build associado ao acionador especificar um pool particular, o Cloud Build vai usar o pool particular para executar o build. Nesse caso, a região especificada no acionador precisa corresponder à região em que você criou o pool particular.
- Se o arquivo de configuração de build associado ao acionador não especificar um pool particular, o Cloud Build vai usar o pool padrão para executar o build na mesma região do acionador.
Descrição (opcional): insira uma descrição para o 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 pull: configure o acionador para iniciar um build em confirmações para uma solicitação de envio.
Origem: configure informações sobre seu repositório do Bitbucket Data Center:
Serviço de repositório: selecione os repositórios do Cloud Build.
Geração de repositório: selecione Developer Connect como origem.
Repositório: na lista de repositórios disponíveis, selecione o repositório.
Ramificação ou Tag: especifique uma expressão regular correspondente ao valor da ramificação ou da tag. Para ver informações sobre a sintaxe aceitável de expressões regulares, consulte Sintaxe de RE2 (em inglês).
Controle de comentários: se você selecionou Solicitação de envio como seu Evento, 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 uma solicitação de envio é 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 executados somente depois que um proprietário ou colaborador comentar
/gcbrun
na solicitação de envio.Obrigatório: quando uma solicitação de envio é criada ou atualizada por qualquer colaborador, os builds só são executados depois que um proprietário ou colaborador comenta
/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 obrigató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 no seu repositório ou configure o build inline no 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 umDockerfile
, você poderá fornecer um tempo limite para a criação. Depois de fornecer oDockerfile
e o nome da imagem, você vai ver uma visualização do comandodocker build
para o build.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 gravar o arquivo de configuração do build no consoleGoogle Cloud usando a sintaxe YAML ou JSON. Clique em Concluído para salvar a configuração do build.
Clique em Criar para criar o gatilho do Bitbucket Cloud.
CLI da gcloud
Para criar gatilhos do Bitbucket Data Center usando 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
Em que:
- TRIGGER_NAME é o nome do gatilho.
- PROJECT_ID é o ID do Google Cloud projeto.
- REGION é a região do acionador.
- CONNECTION_NAME é o nome da sua conexão do Bitbucket Data Center.
- GIT_REPOSITORY_LINK é o link para seu repositório Git.
- BRANCH_PATTERN é o nome da ramificação no seu repositório para invocar o build.
- TAG_PATTERN é o nome da tag no repositório para invocar o build.
- BUILD_CONFIG_FILE é o caminho para seu arquivo de configuração da compilação.
- SERVICE-ACCOUNT é a conta de serviço a ser usada para acionar e criar operações.
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"
}
}
Em que:
- REPO_SLUG é o slug do repositório do Bitbucket Server. Para mais informações, consulte o guia do Bitbucket sobre slugs de repositório.
- 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, caso você queira definir o gatilho para 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 Cloud.
- REGION é a região associada à configuração do Bitbucket Server.
- ID é o ID do BitbucketServerConfig.
- COMMENT_SETTING é a configuração para controlar se os gatilhos de build exigem
/gcbrun
em um comentário para que o build seja executado. Para mais informações, consulte commentControl.
Insira 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
Em que:
- PROJECT_NUMBER é o número do Google Cloud projeto.
- PROJECT_ID é o ID do Google Cloud projeto.
Compartilhamento de dados
Os dados enviados do Cloud Build para o Bitbucket Data Center ajudam a identificar gatilhos por nome e conferir os resultados do build nos repositórios do Bitbucket Data Center.
Os dados a seguir são compartilhados entre o Cloud Build e o host do Bitbucket Data Center:
- ID do projetoGoogle Cloud
- Nome do gatilho
O compartilhamento de dados é ativado automaticamente no Bitbucket Data Center.
A seguir
- Saiba como criar e gerenciar gatilhos de compilação.
- Saiba como criar repositórios do Bitbucket Data Center em uma rede privada.
- Saiba como realizar implantações azul-verde no Compute Engine.