Servidor & DevOps 9 visualizações

Como configurar um webhook para disparar deploy automático a cada push no GitHub

Ver no WHMCS

Como configurar um webhook para disparar deploy automático a cada push no GitHub

Olá, querido(a) desenvolvedor(a)! Seja bem-vindo(a) ao seu primeiro passo rumo ao deploy automático — sim, aquele sonho de atualizar seu site com um simples "push" no GitHub, sem precisar tocar no servidor manualmente. Aqui na GeHost, a gente te ajuda a transformar esse sonho em realidade, com um passo-a-passo claro, paciente e cheio de carinho. Vamos lá?

Pré-requisitos (para não se perder no caminho)

  • Seu projeto já está no GitHub (com um repositório público ou privado).
  • Seu site já está hospedado na GeHost (com acesso ao cPanel).
  • Seu projeto tem um arquivo index.html ou outro arquivo de entrada (como app.php, index.php, etc.) na raiz do repositório.
  • Seu site está acessível via URL (ex: seusite.com.br).
Dica do Sensei: Antes de tudo, certifique-se de que seu repositório no GitHub está atualizado e que o código que você quer publicar está no main ou master (dependendo do nome da branch).

Passo 1: Acesse o cPanel da sua conta GeHost

Para começar, faça login no cPanel da sua conta na GeHost. Basta acessar seu-dominio.com.br/cpanel (substitua pelo seu domínio real) e digitar suas credenciais.

Tela de LOGIN do cPanel com campos Usuário e Senha + botão Log in

Passo 2: Encontre o Gerenciador de Arquivos

Depois de logado, procure na tela inicial do cPanel o grupo de ferramentas chamado Arquivos. Clique em Gerenciador de Arquivos.

Painel inicial (home) do cPanel com os grupos de ferramentas (E-mail, Arquivos etc.)

Passo 3: Acesse a pasta pública do seu site

No Gerenciador de Arquivos, selecione a pasta public_html (ou www, dependendo da configuração). Essa é a pasta que contém o código do seu site visível na internet.

Passo 4: Crie um arquivo de deploy (chamado `deploy.sh`)

Na pasta public_html, clique no botão Novo Arquivo e crie um arquivo chamado deploy.sh. Esse arquivo será o responsável por atualizar seu site automaticamente.

Abra o arquivo deploy.sh para editar e cole o seguinte conteúdo:

#!/bin/bash
# Script de deploy automático via webhook
cd /home/SEU_USUARIO/public_html
git pull origin main
echo "Deploy realizado com sucesso!"
Dica do Sensei: Substitua SEU_USUARIO pelo nome do usuário da sua conta no cPanel (ex: joao). Se não souber, veja no cPanel: em Configurações > Informações da Conta.

Passo 5: Torne o script executável

Volte ao Gerenciador de Arquivos, clique com o botão direito no arquivo deploy.sh e escolha Alterar Permissões.

Marque as opções para leitura e execução para Usuário e Grupo. O resultado deve ser algo como 755.

Gerenciador de Arquivos com árvore de pastas (public_html etc.) e barra de ações

Passo 6: Crie um webhook no GitHub

Volte ao seu repositório no GitHub. Clique em Settings > Webhooks > Add webhook.

Preencha os campos assim:

  • Payload URL: https://seusite.com.br/deploy.sh (substitua pelo seu domínio real)
  • Content type: application/json
  • Which events would you like to trigger this webhook? Selecione Just the push event.
  • Clique em Add webhook.
Dica do Sensei: O GitHub só enviará uma requisição ao seu servidor quando você fizer um push no repositório. Seu script deploy.sh será acionado automaticamente!

Passo 7: Teste o deploy

Faça um pequeno ajuste no seu código (ex: altere o texto de uma página) e faça um git push no GitHub.

Volte ao cPanel e verifique se o script foi executado. Você pode verificar no histórico de logs do cPanel (em Logs > Access Logs) ou, se tiver acesso ao terminal, verifique se o git pull foi executado.

Pronto! Você está no caminho do DevOps mágico

Parabéns, Sensei do Futuro! Agora, cada vez que você fizer um push no GitHub, seu site será atualizado automaticamente. Isso é o poder do deploy contínuo — sem esforço, sem erros humanos, só evolução.

Última dica do Sensei: Se algo não funcionar, verifique se o script tem permissão de execução, se o caminho do diretório está correto, e se o webhook está ativado no GitHub. Às vezes, o GitHub só envia requisições em 30 segundos — paciência, meu jovem!
Precisa de Ajuda?

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