Com o Cloud Build, é possível criar gatilhos para compilação a partir de repositórios hospedados no data center do Bitbucket. Assim, você executa as versões em resposta a eventos, como solicitações de envio ou confirmação, associadas ao repositório do Bitbucket.
Nesta página, explicamos como ativar o recurso de acionador em uma instância de data center do Bitbucket.
Antes de começar
-
Ative as APIs Cloud Build, Secret Manager, and Compute Engine.
- Siga as instruções para conectar um host do data center do Bitbucket.
- Siga as instruções para conectar um repositório de data center do Bitbucket.
Como criar um gatilho do data center do Bitbucket
Nesta seção, explicamos como conectar seus repositórios de data center do Bitbucket ao Cloud Build e criar um gatilho para invocar automaticamente as versões nos repositórios conectados. Se você quiser usar os gatilhos do data center do Bitbucket em uma rede privada, consulte Como criar repositórios do data center do Bitbucket em uma rede privada para ver mais instruções.
Console
Para criar um gatilho do data center do Bitbucket usando o console do Google Cloud:
Acesse a página Gatilhos:
Selecione seu projeto na parte superior da página e clique em Abrir.
Clique em Criar gatilho.
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 a região, o Cloud Build usará o pool padrão para executar o build.
- Se você selecionar uma região não global e o arquivo de configuração da versão associado ao gatilho especificar um pool particular, o Cloud Build usará o pool particular para executar a compilação. 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 da versão associado ao gatilho não especificar um pool particular, o Cloud Build usará o pool padrão para executar a compilaçã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: configure o gatilho para iniciar uma versão em confirmações para uma solicitação de envio.
Origem: selecione 1a geração como origem.
Repositório: na lista de repositórios disponíveis, selecione o repositório que você quer. Para conectar um repositório novo, consulte Conectar-se a um repositório de data center do Bitbucket.
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 (somente aplicativo GitHub) 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 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 alteração é 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 no repositório ou configure o build in-line no gatilho.
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 seu 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 umDockerfile
, você poderá fornecer um tempo limite para a criação. Depois de fornecer oDockerfile
e o nome da imagem, você verá uma visualização do comandodocker 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 gravar seu 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.
Clique em Criar para gerar o gatilho do data center do Bitbucket.
gcloud
Para criar um gatilho do data center do Bitbucket usando comandos gcloud
, execute o seguinte
comando gcloud builds triggers create bitbucketserver
no
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 (em inglês) do seu repositório do data center do Bitbucket.
- PROJECT_NUMBER é o número do projeto do Cloud.
- REGION é a região associada à configuração do data center do Bitbucket.
- 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ê 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 (em inglês) do seu repositório do data center do Bitbucket.
- PROJECT_KEY é a chave do seu projeto de data center do Bitbucket.
- 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ê quiser definir o acionador 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.
Digite o seguinte comando curl
no 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 data center do Bitbucket pelo Cloud Build ajudam a identificar os gatilhos por nome e ver os resultados da compilação no data center do Bitbucket.
Os dados a seguir são compartilhados entre o Cloud Build e o data center do Bitbucket:
- Código do projeto do Cloud
- Nome do gatilho
O compartilhamento de dados é ativado automaticamente para o data center do Bitbucket.
A seguir
- Saiba como criar e gerenciar gatilhos de compilação.
- Saiba como criar repositórios do data center do Bitbucket em uma rede particular.
- Saiba como executar implantações azul-verde no Compute Engine.