Como configurar um webhook para automatizar deploys a partir do GitHub
Olá, querido(a) desenvolvedor(a) e amante da automação! 👋 Seja bem-vindo(a) ao seu novo guia de DevOps com coração aqui na GeHost, onde vamos te ajudar a transformar o trabalho manual em algo elegante, rápido e quase mágico.
Imagine isso: você faz um push no GitHub… e, em segundos, seu site é atualizado automaticamente no servidor. Sem clicar em nada, sem esperar por um "enviar" no painel. Isso é possível com um webhook — e hoje, eu, seu Sensei da GeHost, te mostro como configurar isso passo a passo, com carinho e clareza.
Antes de começar: o que é um webhook?
Um webhook é como um sinal de alerta entre dois sistemas. Quando algo acontece no GitHub (como um novo commit), ele envia uma mensagem para o seu servidor. Se o servidor estiver pronto para receber, ele automaticamente atualiza o seu site.
O que você precisa ter
- Um domínio hospedado na GeHost (com acesso ao cPanel).
- Um repositório no GitHub com seu código.
- Seu plano de hospedagem com acesso ao cPanel (todos os planos da GeHost têm isso).
- Um script de atualização que o servidor vai rodar ao receber o sinal (vamos criar um simples).
Passo a passo: configuração do webhook
1. Acesse o cPanel da sua conta
Entre no painel do cliente da GeHost: painel.gehost.com.br. Faça login com seu usuário e senha.
2. Acesse o Gerenciador de Arquivos
No cPanel, localize e clique em Gerenciador de Arquivos (File Manager).
3. Navegue até a pasta do seu site
Na barra de navegação, clique em public_html (ou o nome da sua pasta principal). É aqui que seu site está hospedado.
4. Crie um script para receber o webhook
Na pasta public_html, clique em Novo Arquivo e crie um arquivo chamado deploy.php.
No conteúdo do arquivo, cole este código simples (ele vai atualizar seu site ao receber o sinal):
<?php // Arquivo: deploy.php // Este script é chamado pelo webhook do GitHub // Ele atualiza o site com o último código do repositório // Caminho do seu repositório no servidor $repo_path = '/home/usuario/public_html'; // Substitua 'usuario' pelo seu nome de usuário no cPanel // Comando para atualizar o código via Git $command = "cd $repo_path && git pull origin main"; // Executa o comando $output = shell_exec($command); // Responde com sucesso echo "Atualização concluída: " . $output; ?>
Dica: Se seu repositório for o main, use main. Se for master, troque o nome no comando.
5. Configure permissões no script
Clique com o botão direito no arquivo deploy.php e selecione Alterar Permissões.
Defina as permissões como 644 (leitura para todos, escrita apenas para o dono).
6. Crie um webhook no GitHub
Agora, vá para o seu repositório no GitHub:
- Clique em Settings (Configurações).
- No menu lateral, escolha Webhooks.
- Clique em Add webhook.
- Na seção Payload URL, digite:
https://seudominio.com.br/deploy.php(substituaseudominio.com.brpelo seu domínio real). - Selecione application/x-www-form-urlencoded como conteúdo.
- Selecione Just the push event (apenas quando você fizer push).
- Clique em Add webhook.
7. Teste o webhook
Volte ao GitHub, clique em Teste o webhook no painel de Webhooks. Se tudo estiver certo, você verá uma mensagem de sucesso.
Depois, vá ao seu site e verifique se o conteúdo foi atualizado. 🎉
Segurança: proteja seu webhook
Por segurança, não deixe o script acessível publicamente. Você pode:
- Proteger com senha (usando .htaccess).
- Usar apenas IPs permitidos (se necessário).
- Evitar que o script seja acessado diretamente via navegador.
Se quiser, posso te ajudar com isso no suporte — é só pedir. 💬
Pronto! Você está automatizando seu deploy!
Parabéns, guerreiro da automação! Agora, cada vez que você fizer um git push no GitHub, seu site será atualizado automaticamente. Menos trabalho, mais foco no que importa: criar coisas incríveis.
Se tiver dúvidas, quiser ajustar algo ou precisar de ajuda com segurança, seu Sensei da GeHost está aqui. Basta entrar em contato pelo painel ou enviar um e-mail para suporte@gehost.com.br.
Com carinho,
Seu Sensei da GeHost 🌿