Como executar builds no GitHub

O Cloud Build fornece um aplicativo Cloud Build do GitHub, com que você cria automaticamente seu código a cada vez que enviar uma nova confirmação para o GitHub.

Este tutorial explica como instalar e configurar o aplicativo e como acionar versões automaticamente no GitHub.

Objetivos

Neste tutorial, você poderá:

  • preparar um repositório do GitHub com um código-fonte a ser criado;
  • instalar e configurar o app GitHub para Google Cloud Build;
  • fazer alterações no código-fonte no GitHub e criar uma solicitação de pull para as alterações;
  • observar que o app Google Cloud Build cria seu código e publica os resultados em uma solicitação de envio;
  • ver os resultados da build no GitHub e no Console do Cloud;
  • saber mais sobre as maneiras diferentes de configurar as versões.

Custos

Neste tutorial, usamos o seguinte componente faturável do Google Cloud:

  • Cloud Build

    Os primeiros 120 minutos de criação por dia são gratuitos. Você será cobrado pelas versões consumidas acima desse limite. Para mais informações, consulte a página Preços.

  • Container Registry

    Se estiver criando com um Dockerfile e armazenando a imagem criada no Container Registry, você será cobrado pelo armazenamento e pela saída de rede usadas pelas imagens do Docker. Para informações, consulte a página Preços do Container Registry.

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 o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Crie uma conta do GitHub, se você ainda não tiver uma.
  5. Ative a API Cloud Build no projeto do Cloud de destino.

    Ativar a API Cloud Build

Como preparar um repositório do GitHub com arquivos de origem

Para usar o aplicativo Google Cloud Build, seu repositório precisa conter um arquivo Dockerfile ou cloudbuild.yaml para configurar sua versão. O arquivo Dockerfile ou cloudbuild.yaml pode estar localizado na raiz do repositório ou em um subdiretório do repositório.

O Dockerfile é o arquivo de configuração para criar contêineres do Docker. Se você estiver usando o aplicativo para versões do Docker, bastará que o repositório contenha um Dockerfile. O exemplo neste tutorial está configurado com um Dockerfile.

cloudbuild.yaml é o arquivo de configuração do Cloud Build. Use um cloudbuild.yaml nos seguintes cenários:

  • Se você quiser ajustar seus builds do Docker, forneça um cloudbuild.yaml além do Dockerfile. Se o repositório contiver um Dockerfile e um cloudbuild.yaml, o aplicativo Google Cloud Build usará o cloudbuild.yaml para configurar os builds.

  • Se você quiser usar o app Google Cloud Build para versões que não sejam do Docker.

Para instruções sobre como criar um cloudbuild.yaml, consulte Visão geral da configuração do build e Como criar um arquivo básico de configuração de build.

Bifurcar o repositório de amostra

Para avançar no exemplo neste tutorial, você precisará de um repositório do GitHub com um código-fonte para criar. Nós fornecemos um repositório de amostra para esse propósito, que você precisa bifurcar antes de continuar.

Use as etapas a seguir para bifurcar o repositório de amostra. Os arquivos de origem no repositório incluem um arquivo helloworld.sh e um Dockerfile, que você usará para criar sua imagem do Docker.

  1. No GitHub, acesse /GoogleCloudBuild/gcbapp-dockerfile-example.

  2. No canto superior direito da página, clique em Fork.

    Captura de tela do botão de divisão

    Agora você tem uma cópia do repositório gcbapp-dockerfile-example com arquivos de origem.

Instalar o app Google Cloud Build

Nesta seção, você instalará o aplicativo Google Cloud Build. Isso permitirá que você conecte o repositório do GitHub ao projeto do Cloud e configure a integração contínua para gcbapp-dockerfile-example.

Durante o processo de instalação e configuração, você precisará primeiramente autorizar o app Google Cloud Build para se conectar ao Google Cloud Platform. Depois de autorizar, você será redirecionado para o Console do Cloud, onde selecionará seu projeto do Cloud. Em seguida, você irá para o GitHub.

As etapas abaixo fornecem instruções para instalar o aplicativo somente para o repositório do gcbapp-dockerfile-example, mas é possível optar por instalar o aplicativo para mais ou todos os seus repositórios.

  1. Ative a API Cloud Build no projeto do Cloud de destino, se você ainda não tiver feito isso.

  2. Acesse a página do app Google Cloud Build no mercado do GitHub.

    Abrir a página do aplicativo Cloud Build

  3. Role para baixo e clique em Configuração com o Google Cloud Build na parte inferior da página.

  4. Se solicitado, faça login no GitHub.

  5. Na página Editar seu plano, selecione ou atualize as informações de faturamento e clique em conceder acesso a este aplicativo. Se você já comprou o aplicativo Cloud Build do GitHub e está reinstalando, pule esta etapa.

  6. Selecione uma das seguintes opções com base na necessidade do seu negócio:

    • Todos os repositórios: ative todos os repositórios atuais e futuros do GitHub para acesso por meio do aplicativo Cloud Build.

    • Selecionar apenas repositórios: use a lista suspensa Selecionar repositórios para ativar apenas repositórios específicos para acesso por meio do aplicativo Cloud Build. Outros repositórios poderão ser ativados posteriormente.

  7. Clique em Instalar.

  8. Faça login no Google Cloud.

    A página "Autorização" é exibida onde você precisa autorizar o app Google Cloud Build a se conectar ao Google Cloud Platform.

    Captura de tela do botão de autorização

  9. Clique em Autorizar Google Cloud Build por GoogleCloudBuild.

    Você irá para o Console do Cloud.

  10. Selecione seu projeto do Cloud.

  11. Marque a caixa de seleção de consentimento e clique em Avançar.

  12. Na página Selecionar repositório exibida, conecte os repositórios do GitHub ao projeto do Cloud da seguinte forma:

    a. Confirme se a conta do GitHub correta foi selecionada.

    b. Marque a caixa de seleção ao lado de cada repositório de destino.

    c. Leia a exoneração de responsabilidade de consentimento e marque a caixa de seleção ao lado para indicar que você aceita os termos apresentados.

    d. Clique em Conectar repositório.

    Se você não encontrar um ou mais repositórios de destino, clique em Editar repositórios no GitHub e repita as etapas acima para ativar outros repositórios no aplicativo Cloud Build.

  13. Se você quiser criar um ou mais acionadores padrão iniciais que acionam versões em qualquer push de branch, use a página Criar um acionador de push que aparece para esses acionadores. Selecione as caixas ao lado de cada repositório de destino e clique em Criar acionadores de push. Caso contrário, pule esta etapa.

Agora você instalou o aplicativo Google Cloud Build, conectou os repositórios escolhidos ao projeto do Cloud e criou gatilhos de push que iniciarão seus builds.

Conectar mais repositórios

Para conectar outros repositórios ao seu projeto do Cloud, siga as etapas abaixo:

  1. Acesse a página Gerencie suas instalações de aplicativos do GitHub no Cloud Build.

  2. Selecione sua conta do GitHub e clique em Continuar.

  3. Clique em Adicionar outro projeto.

  4. Em Configurações do projeto, selecione seu projeto ou crie um novo.

  5. Clique em Conectar repositório.

  6. Em Seleção de repositório, selecione todos os repositórios para se conectar com seu projeto.

  7. Opcionalmente, em Configurações do gatilho, selecione todos os repositórios em que você quer criar um gatilho push.

  8. Para criar um gatilho, clique em Criar gatilho push. Caso contrário, clique em Ignorar por enquanto para voltar à sua lista de repositórios conectados.

  9. Clique em Concluído.

Atualizar a conta do GitHub autenticada

Se você precisar atualizar a conta do GitHub associada à sua conta do Google, acesse a página Autenticar com o GitHub. Isso poderá ser necessário se você tiver desativado o fluxo do repositório de conexão inicial com uma conta diferente da sua conta principal do GitHub. Talvez seja necessário fazer isso se perceber que a Página do repositório do Cloud Build Connect indica que o aplicativo GitHub não está instalado em nenhum repositório após a instalação do app Cloud Build no GitHub.

Criar usando o app Google Cloud Build

Os arquivos de origem em gcbapp-dockerfile-example consistem em um arquivo helloworld.sh simples e um Dockerfile. Nesta seção, você fará alterações no código em helloworld.sh e criará uma solicitação de envio para verificar suas alterações.

O aplicativo Google Cloud Build cria seu código quando você envia uma nova confirmação ao repositório. As versões para commits enviados em solicitações de envio serão incluídas na interface do usuário da solicitação de envio.

  1. Abra helloworld.sh em gcbapp-dockerfile-example:

    https://github.com/[GITHUB_USERNAME]/gcbapp-dockerfile-example/blob/master/helloworld.sh
    
  2. Clique no ícone de lápis para editar o arquivo.

    Captura de tela do botão de edição do arquivo

  3. Adicione a seguinte linha no final do arquivo:

    echo "The time is $(date)."
    
  4. Selecione Create a new branch for this commit and start a pull request. e clique em Propose file change.

  5. Clique em Create pull request.

    Isso inicia o Cloud Build para criar o código.

  6. Acesse a guia Verificações.

    Captura de tela da guia de verificações

    Você verá que o Cloud Build criou as alterações e que a versão foi bem-sucedida. Você também verá outros detalhes da versão, como o tempo que levou para criar o código, o código da versão etc.

  7. Clique em View more details on Google Cloud Build.

    É aberta a página Detalhes do build no Console do Cloud, que mostra informações do build, como status, registros e etapas de build.

  8. Acesse a guia do GitHub no navegador e a guia Conversa.

    Captura de tela da guia de conversa

  9. Clique em Merge pull request e em Confirm merge.

    Pronto. Você verificou se o código altera as versões corretamente e fez check-in das alterações.

Outros exemplos

Veja alguns repositórios de amostra que contêm exemplos de código que usam cloudbuild.yaml como arquivo de configuração. Divida os repositórios e use as etapas descritas neste tutorial para criar o código:

Limpar

Depois de concluir o tutorial do Cloud Build, você pode limpar os recursos criados no Google Cloud para que eles não ocupem a cota e você não seja cobrado por eles no futuro. Veja como excluir e desativar esses recursos nas seções a seguir.

Como remover a conexão entre o repositório e o aplicativo Google Cloud Build

Para interromper o acionamento de builds usando o aplicativo Cloud Build, remova a conexão entre o repositório e o aplicativo usando as etapas abaixo:

  1. Acesse a página de configurações do perfil do GitHub:

    Abrir página de perfil do GitHub

  2. Faça login na sua conta do GitHub.

  3. Em Personal settings, clique em Applications.

  4. Localize a linha com Google Cloud Build e clique em Configure.

  5. Em Repository access, localize [YOUR_GITHUB_USERNAME]/gcbapp-dockerfile-example e clique em X.

  6. Clique em Save.

    Você irá para o Google Cloud.

  7. Fazer login no Google Cloud

  8. Na página Cloud Build, localize a conexão entre o projeto do Cloud e gcb-dockerfile-example e clique em Desvincular.

Você removeu a conexão entre gcb-dockerfile-example e o aplicativo Google Cloud Build, e o Cloud Build não acionará builds para o código em gcb-dockerfile-example.

Como desinstalar o app Google Cloud Build

  1. Acesse a página do app do GitHub para o Google Cloud Build.

    Abrir a página do aplicativo Cloud Build

  2. Clique em Configurar.

  3. Selecione o nome de usuário ou a organização onde você instalou o app.

  4. Clique em Desinstalar.

Como excluir o repositório do GitHub

  1. No GitHub, navegue até a página principal do repositório.

    https://github.com/[GITHUB_USERNAME]/gcbapp-dockerfile-example
    
  2. No nome do repositório, clique em Settings.

  3. Em "Danger Zone", clique em Delete this repository.

  4. Digite o nome do repositório para confirmar e clique em I understand the consequences, delete this repository.

Como excluir as imagens do contêiner

  1. Abra a página do Container Registry no Console do Google Cloud.

    Abrir a página do Container Registry

  2. Selecione o projeto e clique em Abrir.

  3. Abra gcbapp-dockerfile-example.

  4. Selecione todas as imagens e clique em Excluir.

As imagens que você criou como parte deste tutorial são excluídas do projeto.

Excluir o projeto

O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.

Para excluir o projeto:

  1. No Console do Cloud, acesse a página Gerenciar recursos:

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

A seguir