Como configurar deploy automático do GitHub direto para o VPS a cada push
Olá, querido(a) desenvolvedor(a)! Seja bem-vindo(a) ao seu novo guia de DevOps com a GeHost — onde transformamos o seu código em realidade, sem esforço.
Imagine isso: você faz um push no GitHub com uma nova atualização, e automaticamente, seu site no servidor se atualiza. Sem precisar entrar no painel, sem comandos manuais. Isso é possível — e hoje, vou te ensinar como fazer isso com segurança e simplicidade.
💡 Dica do Sensei: Esse processo é chamado de deploy automático. Ele é ideal para projetos em desenvolvimento constante, como sites estáticos, portfólios ou aplicações simples com HTML, CSS e JS.
Pré-requisitos
Antes de começar, verifique se você tem:
- Um domínio hospedado na GeHost (com DNS apontando para o servidor).
- Um repositório no GitHub público ou privado (com acesso ao código).
- Um acesso SSH ao seu servidor (via cPanel ou terminal).
- Permissão para instalar ferramentas no servidor (como
gitenginx).
Passo a passo: configure o deploy automático
-
Entre no cPanel
Para isso, acesse o painel do cliente em painel.gehost.com.br e faça login com suas credenciais.
-
Acesse o Gerenciador de Arquivos
No cPanel, clique em “Arquivos” e depois em “Gerenciador de Arquivos”.
-
Crie uma pasta para o projeto
Navegue até a pasta
public_html(ou o domínio principal) e crie uma nova pasta com o nome do seu projeto (ex:meu-site).Depois, vá para essa pasta e clique em “Criar” para gerar um arquivo
index.htmlde exemplo, só para testar. -
Ative o SSH no servidor
Se ainda não tiver acesso SSH, entre em “Terminal” no cPanel (ou use o terminal do seu computador).
Execute o comando abaixo para instalar o Git (se ainda não estiver instalado):
sudo apt update && sudo apt install git -y
-
Clone o repositório no servidor
Na pasta do seu projeto (dentro de
public_html), execute:git clone https://github.com/seu-usuario/seu-repositorio.git .
Substitua
seu-usuarioeseu-repositoriopelo nome real do seu repositório.Isso baixará todo o código diretamente no servidor.
-
Crie um webhook no GitHub
Entre no seu repositório no GitHub, vá em Settings → Webhooks → Add webhook.
Preencha os campos assim:
- Payload URL:
https://seu-domínio.com.br/webhook(substitua pelo seu domínio real) - Content type:
application/json - Which events would you like to trigger this webhook? Selecione
Just the push event.
- Payload URL:
-
Configure o script de deploy no servidor
Na pasta do seu projeto (dentro de
public_html), crie um arquivo chamadowebhook.php.Coloque dentro dele o seguinte código (use apenas para testes ou ambientes de desenvolvimento seguro):
<?php // Verifica se é um push do GitHub if ($_SERVER['REQUEST_METHOD'] === 'POST') { $payload = json_decode(file_get_contents('php://input'), true); if ($payload['ref'] === 'refs/heads/main') { // ou 'master' // Atualiza o código $output = shell_exec('cd /caminho/para/seu/projeto && git pull origin main 2>&1'); echo "Deploy realizado com sucesso: " . $output; } else { echo "Nenhum push na branch principal."; } } else { echo "Acesso negado."; } ?>⚠️ Importante: Substitua
/caminho/para/seu/projetopelo caminho real da pasta do seu projeto no servidor (ex:/home/usuario/public_html/meu-site). -
Proteja o webhook
Para segurança, não deixe o script aberto para qualquer um. Você pode:
- Usar um token secreto no URL (ex:
https://seu-domínio.com.br/webhook?token=abc123). - Restringir o acesso por IP (via .htaccess).
- Usar HTTPS (obrigatório em produção).
Se precisar, entre em contato com nosso suporte para ajuda com segurança.
- Usar um token secreto no URL (ex:
-
Teste o deploy
Faça um push no GitHub (ex: altere um arquivo e salve). Espere alguns segundos.
Volte para o servidor e verifique se o código foi atualizado.
Se tudo der certo, seu site já está com a nova versão!
Dica extra do Sensei
Se você quiser automatizar ainda mais, pode usar ferramentas como GitHub Actions ou CI/CD com um script que atualiza o servidor via SSH. Mas para iniciantes, o método acima é perfeito — simples, claro e poderoso.
📌 Lembre-se: A GeHost oferece hospedagem segura e confiável com suporte humano. Se precisar de ajuda com SSH, Git ou segurança, entre em contato conosco — estamos aqui para te ajudar.
Quer mais?
Se quiser, podemos criar um template pronto com o script de deploy, ou até automatizar com um botão no painel. É só pedir!
Com carinho,
Sensei da GeHost
*Grupo: G e Soluções e Eventos LTDA (Razão Social: G e Soluções e Eventos LTDA — CNPJ: 46.647.904/0001-04)*