Como criar gatilhos de apps do GitHub

Os gatilhos de aplicativos do GitHub permitem acionar automaticamente as versões de solicitações de push e pull no Git e exibir os resultados de versão no GitHub e no Console do Cloud. Além disso, os gatilhos de aplicativos do GitHub são compatíveis com todos os recursos compatíveis com os gatilhos existentes do GitHub e usam o aplicativo GitHub do Cloud Build para configurar e autenticar no GitHub.

Nesta página, explicamos como criar acionadores de aplicativos do GitHub e compilar no GitHub usando o aplicativo do Cloud Build GitHub.

Antes de começar

  • Ative a API Cloud Build.

    Ative a API

  • Prepare o código-fonte em um repositório do GitHub.
  • Ter um Dockerfile ou um arquivo de configuração do Cloud Build no repositório de origem do GitHub.
  • Se você estiver conectando inicialmente seu repositório ao Cloud Build, verifique se tem permissões de nível de administrador no repositório. Para saber mais sobre permissões de repositório do GitHub, consulte Níveis de permissão do repositório de uma organização.
  • Para usar os comandos gcloud nesta página, instale o SDK do Cloud.

Como instalar o app Cloud Build

Para instalar o aplicativo Cloud Build e conectar o repositório do GitHub ao projeto do Cloud:

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

    Abrir a página Acionadores

  2. No seletor de projetos, na barra superior, selecione seu projeto do Cloud.

  3. Clique em Conectar repositório.

  4. Selecione GitHub (aplicativo do GitHub para Cloud Build), marque a caixa de seleção de consentimento e clique em Continuar .

  5. (Opcional) Se você não tiver feito login no GitHub, faça isso agora.

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

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

    Clique em Autorizar Google Cloud Build por GoogleCloudBuild.

  6. Clique em Instalar o Google Cloud Build .

  7. No pop-up exibido, selecione seu nome de usuário ou organização do GitHub.

  8. 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. Você poderá ativar repositórios adicionais posteriormente.

  9. Clique em Instalar para instalar o aplicativo Cloud Build.

    O pop-up fecha e você é direcionado para uma página de seletor de projetos no Cloud Build. Nesta página, é possível selecionar um projeto atual do Cloud ou criar um novo.

    Se você não encontrar um projeto listado nesta página, clique em Selecionar projeto para ver uma lista de todos os projetos existentes.

  10. Depois de selecionar um projeto ou criar um novo, você verá o painel Conectar repositório.

  11. Na seção Selecionar repositório, selecione os campos a seguir:

    • Conta do GitHub: a conta do GitHub usada para instalar o aplicativo do GitHub do Cloud Build. Esse campo pode ser pré-selecionado para você.

    • Repositório: os repositórios que você quer conectar ao Cloud Build.

      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 GitHub.

  12. Depois de selecionar sua conta e repositórios do GitHub, 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.

  13. Clique em Connect.

  14. (Opcional) Na seção Criar um acionador, selecione os repositórios para os quais você quer criar um acionador no campo Criar um acionador de amostra para esses repositórios para começar. Depois de selecionar os repositórios, clique em Criar um gatilho.

  15. Clique em Concluído.

Agora você conectou um ou mais repositórios do GitHub ao seu projeto do Cloud. Você irá para a página Gatilhos no Console do Cloud.

(Opcional) Como 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. Talvez seja necessário fazer isso se você observar que a página do repositório do Cloud Build Connect indica que o aplicativo do GitHub não está instalado em repositórios depois de instalar o aplicativo Cloud Build no GitHub.

Como criar gatilhos de apps do GitHub

Para criar gatilhos de aplicativos do GitHub:

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

    Abrir a página Acionadores

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

  3. Clique em Abrir.

  4. Clique em Criar gatilho.

  5. Preencha as configurações de gatilho a seguir:

    • Nome: insira um nome para o gatilho.

    • Descrição (opcional): insira uma descrição para o 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 (somente aplicativo do GitHub): configure o gatilho para iniciar um build em confirmações para uma solicitação de envio.

    • Origem: selecione o repositório e a ramificação ou tag correspondente para assistir aos eventos.

      • Repositório: na lista de repositórios disponíveis, selecione o repositório que você quer. Para conectar um novo repositório, consulte Como conectar mais repositórios.

      • 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.

        • Não necessário: quando uma solicitação de envio é criada ou atualizada por qualquer colaborador, os builds são executados automaticamente por gatilhos.

    • Arquivos incluídos (opcional): as alterações que afetam pelo menos um desses arquivos invocarão um build.

    • Arquivos ignorados (opcional): as alterações que afetam somente os arquivos ignorados não invocarão um build.

    • Configuração: selecione o arquivo de configuração da versão localizado no seu repositório remoto ou crie um arquivo de configuração de criação in-line para usar na versão.

      • Type: selecione o tipo de configuração a ser usado na build.
        • Arquivo de configuração do Cloud Build (yaml ou json): use um arquivo de configuração de versão para sua configuração.
        • Dockerfile: use um Dockerfile para sua configuração.
      • Local: especifique o local da sua configuração.

        • Repositório: se o arquivo de configuração estiver localizado no seu repositório remoto, forneça o local do seuarquivo de configuração de build ou aDockerfile e um nome para a imagem resultante. Se sua configuração for um Dockerfile, será possível fornecer um tempo limite para sua versão. Ao fornecer o Dockerfile e o nome da imagem, você verá uma prévia do comando docker build que sua versão executará.
        • Inline: se você selecionou Arquivo de configuração do Cloud Build (yaml ou json) como opção de configuração, é possível especificar a configuração da versão in-line. Clique em Abrir editor para gravar o arquivo de configuração da criação no Console do Google Cloud usando a sintaxe YAML ou JSON. Clique em Concluído para salvar a configuração da versão.

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

Para criar acionadores de aplicativos do GitHub usando comandos gcloud, consulte os comandos gcloud para Como criar um gatilho de compilação.

Como criar e visualizar suas alterações

Para criar usando acionadores de aplicativos do GitHub, você precisará enviar e confirmar alterações no seu repositório de origem conectado ou configurar sua versão em solicitações de envio. Depois de verificar as alterações, o Cloud Build criará o código.

Para ver suas alterações de build no GitHub, acesse a guia Verificações no repositório.

Captura de tela da guia de conversa

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

Para ver as alterações de versão no Cloud Build, clique em Ver mais detalhes no Google Cloud Build. É aberta a página Detalhes da criação no Console do Cloud, que mostra informações de versão, como status, registros e etapas de versão.

Diferentes tipos de gatilhos com base no GitHub

Se seu código-fonte estiver em GitHub, o Cloud Build fornecerá duas maneiras de invocar builds automaticamente. Esta seção explica e compara os recursos dos dois acionadores com base no GitHub.

  • gatilhoes do GitHub: quando você cria um gatilho do GitHub, o Cloud Build espelha o repositório do GitHub no Cloud Source Repositories, além de usar o repositório espelhado em todas as operações. É possível criar e gerenciar gatilhos do GitHub usando o Console do Cloud.

  • gatilhoes de aplicativos do GitHub: esse tipo de gatilho usa o app GitHub para Google Cloud Build para configurar e autenticar no GitHub. Os gatilhos de aplicativos do GitHub permitem iniciar automaticamente os builds de solicitações de push e pull no Git e visualizar os resultados de build no GitHub e no Console do Cloud. É possível criar e gerenciar gatilhos de aplicativos do GitHub usando o Console do Cloud ou a API Cloud Build.

A tabela a seguir compara os recursos dos acionadores do GitHub e dos acionadores de aplicativos do GitHub:

Recurso Acionadores do GitHub Gatilhos de aplicativo do GitHub
Invocar versões em push para o código-fonte Sim Sim
Invocar versões em solicitações de envio Não Sim
Criar gatilho usando o Console do Cloud Sim Sim
Criação de acionador usando a API do Cloud Build Não Sim
Criação de acionador usando o app GitHub para Google Cloud Build Não Sim
Ver o status da versão no Console do Cloud Sim Sim
Exibição do status da compilação no GitHub Não Sim

Compartilhamento de dados

Os acionadores de aplicativos do GitHub enviam dados ao app Cloud Build do GitHub. Os dados enviados ao aplicativo ajudam a identificar gatilhos por nome e ver os resultados da versão no GitHub.

Os dados a seguir são compartilhados entre o Google Cloud e o app GitHub:

  • Nome do gatilho

Se você criou gatilhos antes de agosto de 2020, talvez o compartilhamento de dados não esteja ativado para seu projeto. É possível ativar o compartilhamento de dados para todos os gatilhos de aplicativos do GitHub no seu projeto clicando em Ativar na guia de compartilhamento de dados do Cloud Build.

Se as verificações de status necessárias estiverem ativadas para um repositório do GitHub, a ativação do compartilhamento de dados poderá interromper temporariamente as verificações de status. Para ajustar as configurações de verificação de status para procurar seu nome de gatilho, é possível:

  • desativar qualquer verificação necessária específica do Cloud Build no repositório do GitHub;
  • garantir que o compartilhamento de dados esteja ativado no Cloud Build;
  • executar uma nova compilação no Cloud Build que publica o status no seu repositório;
  • reativar verificações de status necessárias, selecionando o nome do gatilho.

A seguir