Automatize as compilações com o Cloud Build
Esta página explica como usar o Cloud Build para automatizar compilações.
O Cloud Build usa acionadores de compilação para ativar as automatizações de CI/CD. Pode configurar acionadores para escutar eventos recebidos, como quando um novo commit é enviado para um repositório ou quando é iniciada uma solicitação de obtenção, e, em seguida, invocar automaticamente uma compilação quando chegarem novos eventos.
Vai criar um acionador e configurá-lo para invocar uma compilação sempre que envia uma alteração para um repositório do GitHub.
Para seguir orientações passo a passo para esta tarefa diretamente no editor do Cloud Shell, clique em Guiar-me:
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
-
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
Se ainda não tiver uma conta, crie uma no GitHub.
Se tiver a autenticação de dois fatores configurada no GitHub, crie um token de acesso pessoal para usar em vez de uma palavra-passe do GitHub com a linha de comandos.
Se ainda não tiver uma conta, crie uma no GitHub.
Se tiver a autenticação de dois fatores configurada no GitHub, crie um token de acesso pessoal para usar em vez de uma palavra-passe do GitHub com a linha de comandos.
Crie um fork do repositório
cloud-build-samples
para a sua própria conta do GitHub:Aceda ao repositório cloud-build-samples do Cloud Build.
Clique no ícone Dividir no canto superior direito da página.
Clique na conta de utilizador do GitHub para a qual quer criar um fork do repositório.
O redirecionamento para a página com a sua versão criada a partir do repositório
cloud-build-samples
é feito automaticamente.
Abra um terminal no seu ambiente local.
Clone o repositório bifurcado executando o seguinte comando, em que GITHUB_USERNAME é o nome de utilizador da sua conta do GitHub:
git clone https://github.com/GITHUB_USERNAME/cloud-build-samples.git
No Google Cloud menu de navegação da consola, clique em Cloud Build > Acionadores.
Selecione o projeto e clique em Abrir.
Clique em
Associar repositório .Em Selecionar origem, selecione
GitHub (app GitHub do Cloud Build) .Clique em
Continuar .Autentique a sua conta do GitHub.
Na secção Selecionar repositório, selecione o nome de utilizador da sua
conta do GitHub . Se o seu nome de utilizador não aparecer na lista:Na lista Conta do GitHub, clique em + Adicionar.
É apresentado um pop-up para instalar a app GitHub do Cloud Build.
Clique no seu nome de utilizador do GitHub.
Clique em Apenas determinados repositórios para instalar a app GitHub do Cloud Build em determinados repositórios.
No menu pendente, selecione GITHUB_USERNAME/cloud-build-samples, em que GITHUB_USERNAME é o nome de utilizador da sua conta do GitHub.
Clique em Instalar.
Pode ser-lhe pedido que introduza a palavra-passe associada à sua conta do GitHub antes de continuar.
Após a instalação da app GitHub do Cloud Build, pode ver o seu nome de utilizador no menu pendente no campo Conta do GitHub. Selecione o seu nome de utilizador.
Em
Repositório , selecione GITHUB_USERNAME/cloud-build-samples como repositório.Clique na marca de verificação para aceitar os Termos de Utilização da associação do acionador.
Clique em
Ligar .Clique em
Concluído .Abra a página Acionadores na Google Cloud consola:
Selecione o seu projeto no menu pendente do seletor de projetos na parte superior da página.
Clique em Abrir.
Na página Acionadores, clique em
Criar acionador .Na página Criar acionador, introduza as seguintes definições:
Nome: introduza
hello-world-trigger
como nome do acionador.Evento: selecione
Enviar para um ramo como o evento do repositório para invocar o acionador.Origem : Selecione o repositóriocloud-build-samples
como a sua origem, que contém o código fonte e o ficheiro de configuração de compilação.Configuração de compilação: escolha
Ficheiro de configuração do Cloud Build como ficheiro de configuração de compilação.Localização do ficheiro de configuração do Cloud Build : Especifique o caminho para o ficheiro de configuração do Cloud Build comoquickstart-automate/cloudbuild.yaml
.
Clique em
Criar para guardar o acionador de compilação.No terminal, navegue para o diretório
quickstart-automate
:cd cloud-build-samples/quickstart-automate
Abra o ficheiro
main.go
e atualize a linha que contém "Hello, world!" para "Olá, universo!"package main import ( "fmt" ) func main() { fmt.Println("Hello, universe!") }
Reveja
, que é o ficheiro de configuração de compilação usado pelo Cloud Build. Quando uma compilação é invocada com um acionador, o passo de compilação neste ficheiro indica ao Cloud Build que use a imagemcloudbuild.yaml
golang
do Docker Hub para compilar e executar o ficheiromain.go
.steps: - name: golang script: go run quickstart-automate/main.go
Navegue de volta para o diretório raiz do seu repositório:
cd ..
Confirme as alterações no GitHub executando os seguintes comandos:
git add quickstart-automate/main.go git commit -m "update text" git push
Pode ser-lhe pedido que introduza as suas credenciais quando enviar código para o seu repositório. Se lhe for pedido, introduza o seu nome de utilizador e palavra-passe ou um token de autenticação.
No menu de navegação da Google Cloud consola, clique em Cloud Build > Histórico.
Selecione o projeto e clique em Abrir.
É apresentada a página Histórico de compilação:
Na coluna
Compilação , clique no nome de uma compilação.Na página Detalhes da compilação, clique em
Artefactos de compilação .Vai ver um resultado semelhante ao seguinte:
Para ver o registo de compilação, clique no
ícone de transferência e veja o ficheiro transferido.No Google Cloud menu de navegação da consola, clique em Cloud Build > Acionadores.
Selecione o projeto e clique em Abrir.
Na linha
hello-world-trigger
, clique nomenu Ações (reticências verticais) localizado no extremo direito da linha.Selecione Eliminar.
- Saiba como criar um ficheiro de configuração de compilação básico.
- Saiba como criar e gerir acionadores de compilação.
Criar um fork e clonar um repositório de amostra do GitHub
Precisa de algum código fonte de exemplo para criar. Nesta secção, vai clonar um repositório de origem existente que contenha um exemplo de Hello World em Go para a sua própria conta de utilizador do GitHub.Associe o Cloud Build ao seu repositório
Para criar código fonte no GitHub através de acionadores, tem de associar primeiro o Cloud Build ao seu repositório do GitHub. Nesta secção, vai associar o seu repositório docloud-build-samples
ao Cloud Build.
Crie um acionador
Confirme uma alteração
Nesta secção, vai confirmar uma alteração ao seu repositório cloud-build-samples
clonado na sua própria conta do GitHub.
Enviou uma alteração para o seu repositório. O seu envio vai resultar numa compilação automática pelo seu acionador.
Veja os detalhes da compilação
Nesta secção, vê os detalhes da compilação associados à compilação invocada após confirmar uma alteração.Invocou com êxito uma compilação do Cloud Build através de um acionador e viu os detalhes da compilação.
Limpar
Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.
Eliminou o acionador associado ao repositório clonado.