Automatizar builds com o Cloud Build

Nesta página, explicamos como usar o Cloud Build para automatizar builds.

O Cloud Build usa gatilhos de build para ativar as automações de CI/CD. Você pode configurar gatilhos para detectar eventos de entrada, como quando uma nova confirmação é enviada para um repositório ou quando uma solicitação de envio é iniciada e, em seguida, invocar automaticamente uma versão quando novos eventos chegam.

Você vai criar um gatilho e configurá-lo para invocar uma versão sempre que enviar uma alteração para um repositório do GitHub.


Para seguir as instruções da tarefa diretamente no editor do Cloud Shell, clique em Orientação:

Orientações


Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative a API Cloud Build.

    Ative a API

  5. Instale a CLI do Google Cloud.
  6. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  7. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  8. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  9. Ative a API Cloud Build.

    Ative a API

  10. Instale a CLI do Google Cloud.
  11. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  12. Se você ainda não tiver uma, crie uma conta no GitHub.

  13. Se você tiver a autenticação de dois fatores configurada no GitHub, crie um token de acesso pessoal para usar no lugar de uma senha do GitHub com a linha de comando.

Bifurcar e clonar um repositório do GitHub de amostra

Você precisará de um código-fonte de amostra para criar. Nesta seção, você clonará um repositório de origem existente que contém um exemplo do Hello World em "Ir" para sua própria conta de usuário do GitHub.
  1. Se você ainda não tiver uma, crie uma conta no GitHub.

  2. Se você tiver a autenticação de dois fatores configurada no GitHub, crie um token de acesso pessoal para usar no lugar de uma senha do GitHub com a linha de comando.

  3. Copie o repositório cloud-build-samples para sua própria conta do GitHub:

    1. Acesse o repositório cloud-build-samples do Cloud Build.

    2. Clique no ícone Fork no canto superior direito da página.

    3. Clique na conta de usuário do GitHub para que você quer bifurcar o repositório.

      Você será redirecionado automaticamente para a página com sua versão bifurcada do repositório cloud-build-samples.

  4. Abra um terminal no ambiente local.

  5. Clone o repositório bifurcado executando o seguinte comando, em que GITHUB_USERNAME é o nome de usuário da sua conta do GitHub:

    git clone https://github.com/GITHUB_USERNAME/cloud-build-samples.git

Conectar o Cloud Build ao seu repositório

Para criar código-fonte no GitHub usando gatilhos, conecte primeiro o Cloud Build ao seu repositório do GitHub. Nesta seção, você conectará seu repositório cloud-build-samples ao Cloud Build.
  1. No menu de navegação do console do Google Cloud, clique em Cloud Build > Gatilhos.

    Abrir a página "Gatilhos"

  2. Selecione o projeto e clique em Abrir.

  3. Clique em Conectar repositório.

  4. Em Selecionar origem, selecione GitHub (app GitHub do Cloud Build).

  5. Clique em Continuar.

  6. Autentique sua conta do GitHub.

  7. Na seção Selecionar repositório, selecione o nome de usuário da sua conta do GitHub. Se o nome de usuário não aparecer na lista, faça o seguinte:

    1. Na lista de contas do GitHub, clique em +Adicionar.

      Você vai ver um pop-up para instalar o app Cloud Build GitHub.

    2. Clique no seu nome de usuário do GitHub.

    3. Clique em Apenas determinados repositórios para instalar o app GitHub do Cloud Build em determinados repositórios.

    4. No menu suspenso, selecione GITHUB_USERNAME/cloud-build-samples, em que GITHUB_USERNAME é o nome de usuário da sua conta do GitHub.

    5. Clique em Instalar.

      Antes de continuar, talvez seja necessário inserir a senha associada à sua conta do GitHub.

    6. Após a instalação do app GitHub do Cloud Build, você vai ver seu nome de usuário no menu suspenso no campo Conta do GitHub. Selecione seu nome de usuário.

  8. Em Repositório, selecione GITHUB_USERNAME/cloud-build-samples como seu repositório.

  9. Clique na marca de seleção para concordar com os Termos e Condições de conexão do gatilho.

  10. Clique em Conectar.

  11. Clique emConcluído.

Você criará um gatilho na próxima seção.

Criar um gatilho

  1. Abra a página Gatilhos no Console do Google Cloud:

    Abrir a página "Gatilhos"

  2. Selecione o projeto no menu suspenso do seletor de projetos na parte superior da página.

  3. Clique em Abrir.

  4. Na página Gatilhos, clique em Criar gatilho.

  5. Na página Criar gatilho, especifique as seguintes configurações:

    • Nome: insira hello-world-trigger como o nome do gatilho.

    • Evento: selecione Enviar para uma ramificação como o evento do repositório para invocar o gatilho.

    • Origem: selecione o repositório cloud-build-samples como origem, que contém o código-fonte e o arquivo de configuração do build.

    • Configuração do build: escolha Arquivo de configuração do Cloud Build como seu arquivo de configuração do build.

    • Local do arquivo de configuração do Cloud Build: especifique o caminho do arquivo de configuração do Cloud Build como quickstart-automate/cloudbuild.yaml.

  6. Clique em Criar para salvar o gatilho de compilação.

Confirmar uma alteração

Nesta seção, você fará uma alteração no repositório cloud-build-samples clonado na sua própria conta do GitHub.

  1. No seu terminal, navegue até o diretório quickstart-automate:

    cd cloud-build-samples/quickstart-automate
  2. Abra o arquivo main.go e atualize a linha que contém "Hello, world!" para "Hello, universe!"

      package main
    
      import (
          "fmt"
      )
    
      func main() {
          fmt.Println("Hello, universe!")
      }
      
  3. Revise cloudbuild.yaml, que é o arquivo de configuração do build usado pelo Cloud Build. Quando um build é invocado com um gatilho, a etapa nesse arquivo instrui o Cloud Build a usar a imagem golang do Docker Hub para criar e executar o arquivo main.go.

       steps:
       - name: golang
         script: go run quickstart-automate/main.go
       
  4. Navegue de volta para o diretório raiz do repositório:

       cd ..
  5. Confirme as alterações no GitHub executando os seguintes comandos:

        
        git add quickstart-automate/main.go
        git commit -m "update text"
        git push

    Talvez seja necessário inserir suas credenciais ao enviar o código para o repositório. Se necessário, digite seu nome de usuário e senha ou um token de autenticação.

Você enviou uma alteração para seu repositório. O envio resultará em um build automático pelo gatilho.

Ver detalhes do build

Nesta seção, você verá os detalhes do build associados ao build invocado após a confirmação de uma alteração.
  1. No menu de navegação do Console do Google Cloud, clique em Cloud Build > Histórico.

    Abra a página do Cloud Build

  2. Selecione o projeto e clique em Abrir.

    Você verá a página Histórico da versão:

    Captura de tela da página "Histórico de builds para automatizar"

  3. Na coluna Build, clique no nome de um build.

  4. Na página Detalhes do build, clique em Artefatos do build.

    Você verá um resultado semelhante a este:

    Captura de tela dos artefatos da build

  5. Para ver o registro do build, clique no ícone de download e veja o arquivo salvo.

Você invocou um build do Cloud Build usando um gatilho e visualizou os detalhes do build.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

  1. No menu de navegação do console do Google Cloud, clique em Cloud Build > Gatilhos.

    Abrir a página "Gatilhos"

  2. Selecione o projeto e clique em Abrir.

  3. Na linha hello-world-trigger, clique no menu de ações (reticências verticais) localizado na extremidade direita da linha.

  4. Selecione Excluir.

Você excluiu o gatilho associado ao seu repositório clonado.

A seguir