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.
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:
- Confere se quem está chamando é realmente o GitHub (usando um "segredo" combinado entre vocês, para evitar que qualquer pessoa dispare o deploy).
- 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.
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
- Entre no seu repositório no GitHub.
- Vá em Settings (Configurações) → Webhooks → Add webhook.
- No campo Payload URL, cole a URL do seu script (do Passo 3).
- Em Content type, escolha
application/json. - No campo Secret, crie uma senha forte e única — é ela que o seu script vai usar para validar as requisições.
- Em Which events would you like to trigger this webhook?, marque apenas "Just the push event", que é o suficiente para a maioria dos casos.
- 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! 🌸