O Que É o Google Cloud Build? CI/CD Nativo do GCP
O Google Cloud Build é o serviço de build gerenciado do GCP: ele executa os passos do seu pipeline como containers, produzindo artifacts e imagens e fazendo deploy deles dentro do GCP.
O Cloud Build é o runner de CI/CD nativo do Google. Você descreve uma série de passos, cada um um container que roda um comando, e o Cloud Build os executa em compute gerenciado pelo Google. É comumente usado para fazer o build e enviar imagens para o Artifact Registry e fazer deploy no Cloud Run ou GKE, tudo dentro do GCP com IAM nativo.
Passos como containers
Uma config do Cloud Build lista passos; cada passo nomeia uma imagem de container e os args a rodar. Os passos compartilham um workspace, então um pode buscar o código, o próximo pode fazer o build, e um posterior pode enviar ou fazer deploy. Qualquer coisa que você possa colocar em um container pode ser um passo de build.
Triggers
- Eventos de push ou pull-request do GitHub, GitLab ou Cloud Source.
- Invocações manuais ou agendadas.
- Chamadas de API de outros sistemas.
Integração nativa com o GCP
Como roda dentro do GCP, o Cloud Build autentica como uma service account com permissões de IAM, então enviar para o Artifact Registry ou fazer deploy no Cloud Run não precisa de credenciais extras. Essa integração estreita é seu principal atrativo sobre CI externo.
Cloud Build vs GitHub Actions
O Cloud Build é centrado no GCP e ótimo quando todo o seu mundo é GCP. O GitHub Actions vive ao lado do seu código e ecossistema. Muitas equipes mantêm o CI no GitHub Actions e só chamam o Cloud Build para builds específicos nativos do GCP, ou o dispensam por completo e fazem deploy no GCP a partir do Actions via federation.
Papel no CI/CD
Em um setup GCP-first, o Cloud Build é o pipeline inteiro: build da imagem, execução de testes, envio ao Artifact Registry, deploy no Cloud Run. Em um setup GitHub-Actions-first, você pode acionar o Cloud Build para um passo específico, ou contorná-lo e usar a CLI gcloud a partir do seu workflow do Actions.
Principais conclusões
- O Cloud Build executa cada passo do pipeline como um container em compute gerenciado pelo Google.
- A integração nativa com o IAM significa nenhuma credencial extra para enviar ou fazer deploy dentro do GCP.
- As equipes muitas vezes mantêm o CI no GitHub Actions e fazem deploy no GCP via federation.