Servidor & DevOps 41 visualizações

Como configurar um webhook para disparar deploy automático a partir do GitHub

Ver no WHMCS

Como configurar um webhook para disparar deploy automático a partir do GitHub

Olá! Eu sou a Sensei da GeHost 🌸 e hoje vou te ensinar, com calma e carinho, como fazer aquele "mágica" que todo desenvolvedor adora: dar um git push no GitHub e ver o site atualizar sozinho no seu servidor, sem precisar subir arquivo na mão. Isso se chama deploy automático via webhook. Vamos passo a passo!

O que é um webhook, afinal?

Pense no webhook como um "aviso instantâneo". Toda vez que você envia um novo código para o seu repositório no GitHub, ele bate na porta do seu site e diz: "ei, chegou código novo, pode atualizar!". Essa "batida na porta" é uma requisição HTTP que o GitHub envia para uma URL que você configura — e é essa URL que vai disparar o processo de atualização no seu servidor.

Dica da Sensei: antes de configurar qualquer automação, confirme com o nosso suporte se o seu plano tem os recursos necessários (como acesso via Git ou SSH) habilitados para o tipo de deploy que você quer fazer. Cada projeto é um pouco diferente, então vale sempre confirmar antes de sair configurando.

Pré-requisitos

  • Um repositório no GitHub com o código do seu projeto.
  • Acesso ao cPanel da sua hospedagem GeHost (login e senha você encontra no painel.gehost.com.br).
  • Um script de "recebimento" (deploy script) hospedado no seu domínio, que será o responsável por executar a atualização quando o GitHub avisar.

Passo 1 — Entre no cPanel e localize a ferramenta de Git

Acesse o cPanel da sua hospedagem e procure pela ferramenta de Git™ Version Control (geralmente no grupo "Arquivos"). É por ali que você vai clonar (ou já ter clonado) o seu repositório dentro da sua hospedagem.

Painel inicial do cPanel com os grupos de ferramentas

Se você não encontrar essa opção ou tiver dúvida se ela está disponível no seu plano, é só chamar o nosso suporte — eles te orientam certinho.

Passo 2 — Crie o script que vai "receber" o aviso do GitHub

Esse script (normalmente em PHP) fica hospedado dentro da sua conta e faz duas coisas:

  1. Confere se quem está chamando é realmente o GitHub (usando um "segredo" combinado entre vocês, para evitar que qualquer pessoa dispare o deploy).
  2. Executa a atualização do código (por exemplo, puxando as últimas mudanças do repositório).

Esse arquivo deve ficar salvo dentro da pasta do seu site — geralmente public_html ou uma subpasta específica do projeto.

Gerenciador de Arquivos do cPanel mostrando a árvore de pastas
Dica da Sensei: nunca deixe esse script sem proteção! Sempre valide a assinatura enviada pelo GitHub (o cabeçalho X-Hub-Signature-256) usando o segredo que você mesmo criou. Assim, ninguém além do GitHub consegue "chamar" seu deploy.

Passo 3 — Anote a URL do seu script

Essa será a URL pública que aponta para o script criado no passo anterior, por exemplo algo como https://seudominio.com.br/deploy.php. Guarde esse endereço, pois ele será usado na configuração do webhook lá no GitHub.

Passo 4 — Configure o webhook no GitHub

  1. Entre no seu repositório no GitHub.
  2. Vá em Settings (Configurações) → Webhooks → Add webhook.
  3. No campo Payload URL, cole a URL do seu script (do Passo 3).
  4. Em Content type, escolha application/json.
  5. No campo Secret, crie uma senha forte e única — é ela que o seu script vai usar para validar as requisições.
  6. Em Which events would you like to trigger this webhook?, marque apenas "Just the push event", que é o suficiente para a maioria dos casos.
  7. Clique em Add webhook para salvar.

Passo 5 — Teste tudo

Faça um pequeno commit e dê um git push no seu repositório. Depois, volte na tela de Webhooks do GitHub e clique no webhook criado — na aba "Recent Deliveries" você verá se a requisição foi enviada com sucesso (resposta 200) ou se algo deu errado.

Dica da Sensei: se a entrega aparecer com erro, dê uma olhada no conteúdo da resposta que o GitHub mostra — normalmente ele já te diz se o problema foi de permissão, de segredo incorreto ou de caminho errado do script.

Problemas comuns e como resolver

  • O webhook chega, mas o site não atualiza: confira as permissões de escrita da pasta e se o script realmente está executando o comando de atualização do código.
  • Erro de autenticação: revise se o "Secret" configurado no GitHub é exatamente igual ao usado no seu script.
  • Não sei se meu plano suporta esse tipo de automação: fale com nosso suporte pelo painel.gehost.com.br — eles confirmam os recursos disponíveis no seu plano.

Prontinho! Com isso, seu fluxo de trabalho fica bem mais ágil: você programa, dá push, e o site se atualiza sozinho. Se precisar de uma mãozinha em qualquer etapa, é só chamar a gente. Um abraço da sua Sensei! 🌸

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.