Como configurar webhooks para automatizar deploys a partir do GitHub
Olá, viajante da web! Seja bem-vindo(a) ao seu novo passo rumo à automação e produtividade. Aqui, na GeHost, acreditamos que o tempo é ouro — e que você merece focar no que ama: criar, inovar, entregar valor. Por isso, vamos te ensinar, com carinho e clareza, como configurar webhooks para fazer o seu site se atualizar automaticamente sempre que você enviar novos códigos ao GitHub. Sim, isso é possível — e é tão simples quanto seguir um passo a passo.
Imagine: você faz um commit no GitHub, e, em segundos, seu site já está com a nova versão. Sem precisar entrar no painel, sem digitar comandos, sem perder tempo. É isso que o webhook faz por você.
Dica Sensei: Antes de começar, verifique se seu domínio está apontando corretamente para o servidor da GeHost. Se não souber como fazer isso, abra um ticket no suporte — a gente te ajuda com um sorriso.
Passo a passo: Configurando o webhook no GitHub
-
Acesse o seu repositório no GitHub e clique na aba Settings.
-
No menu lateral, clique em Webhooks (ou "Hooks", em versões antigas).
-
Clique em Add webhook.
-
Preencha os campos:
- Payload URL: Aqui você coloca a URL do seu servidor que vai receber o evento. Ela deve ser do tipo
https://seudominio.com.br/webhook. Substituaseudominio.com.brpelo seu domínio real. - Content type: Escolha
application/json. - Which events would you like to trigger this webhook? Escolha Just the push event para atualizações de código.
- Active: Deixe marcado.
- Payload URL: Aqui você coloca a URL do seu servidor que vai receber o evento. Ela deve ser do tipo
-
Clique em Add webhook.
Dica Sensei: Se você não tem um arquivo chamado webhook.php no seu site, crie um agora. Ele será o "receptor" da mensagem do GitHub. Vamos explicar como fazer isso logo abaixo.
Passo a passo: Criando o arquivo webhook no cPanel
Este é o coração da automação. O arquivo webhook.php vai receber a mensagem do GitHub e atualizar seu site automaticamente.
-
Entre no seu painel da GeHost em painel.gehost.com.br.
-
Na seção Arquivos, clique em Gerenciador de Arquivos.
-
Selecione a pasta
public_html(ou a pasta do seu site). -
Clique em Novo Arquivo e digite
webhook.php. -
Abra o arquivo e cole o seguinte código:
<?php // Arquivo webhook.php - Recebe notificações do GitHub // Este código é um exemplo básico. Para produção, considere segurança. header('Content-Type: application/json'); // Verifica se a requisição é POST if ($_SERVER['REQUEST_METHOD'] !== 'POST') { http_response_code(405); echo json_encode(['status' => 'error', 'message' => 'Método não permitido']); exit; } // Verifique o token de segurança (opcional, mas recomendado) $token = 'seu_token_secreto_aqui'; // Substitua por um token real if (!isset($_SERVER['HTTP_X_HUB_SIGNATURE_256']) || !hash_equals(hash_hmac('sha256', file_get_contents('php://input'), $token), $_SERVER['HTTP_X_HUB_SIGNATURE_256'])) { http_response_code(403); echo json_encode(['status' => 'error', 'message' => 'Acesso não autorizado']); exit; } // Atualiza o código do repositório (exemplo com Git) $repo_path = '/home/seu_usuario/public_html'; // Caminho real do site $command = "cd $repo_path && git pull origin main"; $output = shell_exec($command); // Responde com sucesso http_response_code(200); echo json_encode(['status' => 'success', 'message' => 'Deploy realizado com sucesso', 'output' => $output]); ?> -
Salve o arquivo.
Dica Sensei: Não deixe o token em claro no código. Use um arquivo de configuração separado ou variáveis de ambiente, se seu plano permitir. Sempre proteja esse arquivo com permissões adequadas.
Passo a passo: Configurando o GitHub com segurança
Para garantir que apenas o GitHub possa acionar seu webhook, é essencial usar um token secreto. Vamos fazer isso agora.
-
No GitHub, vá de volta à página do webhook (Settings > Webhooks).
-
Clique em Edit no webhook que você criou.
-
No campo Secret, insira um token aleatório (ex:
minhasecreta123). -
Atualize o webhook.
-
No arquivo
webhook.php, substituaseu_token_secreto_aquipelo mesmo valor.
Dica Sensei: Tokens são como senhas. Não compartilhe com ninguém. Se achar que foi exposto, gere um novo no GitHub e atualize o código.
Testando tudo
Para testar se está funcionando:
-
Faça um pequeno commit no GitHub (ex: altere um texto em uma página).
-
Verifique se o arquivo
webhook.phpestá acessível via navegador (ex:https://seudominio.com.br/webhook.php). Ele deve retornar um JSON com "success". -
Se o site se atualizou, parabéns! Você acaba de dominar a automação!
Importante: Segurança e limitações
Embora o webhook seja poderoso, ele tem limitações importantes:
- Não é possível fazer deploy em tempo real com certeza absoluta — depende da velocidade da rede e do GitHub.
- Seu servidor precisa ter o Git instalado e permitir o uso de
shell_exec. Isso está habilitado em todos os planos da GeHost com cPanel. - Evite deixar o código do webhook exposto ou sem autenticação. Use sempre o token.
- Se algo der errado, verifique os logs de acesso no painel da GeHost ou entre em contato com o suporte.
Conclusão: Você está no caminho certo
Parabéns, mestre da automação! Você acabou de conectar o GitHub ao seu site com um simples webhook. Isso não é só tecnologia — é liberdade. Mais tempo para criar, menos tempo para gerenciar.
Se tiver dúvidas, se precisar de ajuda com o código, ou se quiser