Como automatizar deploys do seu site via Git no VPS — Guia para Iniciantes (com amor e paciência)
Olá, viajante do código! 🌟 Se você está aqui, é porque quer deixar o mundo do desenvolvimento mais leve, mais rápido, mais inteligente. E o melhor: sem precisar clicar em "enviar" toda hora no FTP ou no cPanel. Vamos transformar o seu site em um sistema que se atualiza sozinho — assim que você envia um novo código no Git.
Seu VPS (servidor virtual) é como um pequeno mundo onde seu site vive. Com um pouco de magia (e um pouquinho de terminal), podemos fazer ele ouvir o Git e atualizar o site automaticamente. É como se seu site tivesse um radar que diz: “Ah! Tem novo código! Vamos atualizar agora!”
Este guia é para quem já tem um site no VPS da GeHost, sabe o básico de Git, e quer ir além. Vamos juntos, passo a passo, com calma, como se fosse um chá com um amigo. 💫
Antes de começar: o que você precisa
Antes de qualquer coisa, tenha em mente:
- Você precisa ter acesso SSH ao seu VPS (já configurado no painel da GeHost).
- Seu site já está hospedado na pasta
public_htmlou em uma subpasta dentro dela. - Seu código está no GitHub, GitLab ou outro repositório (não importa qual, desde que o Git esteja funcionando).
- Você tem um domínio e sabe que ele aponta para o IP do seu VPS (ou está configurado no DNS).
Dica do Sensei: Se você ainda não tem um repositório no GitHub, crie um agora. É grátis e super fácil. Basta ir em github.com e clicar em "New repository".
Passo 1: Acesse seu VPS via SSH
Para começar, você precisa se conectar ao seu VPS. Isso é feito com o SSH — um jeito seguro de comandar o servidor remotamente.
No seu computador (Windows, Mac ou Linux), abra o terminal (ou o PowerShell no Windows) e digite:
ssh usuario@seu-ip-do-vps
Substitua usuario pelo nome de usuário que você usou no painel da GeHost (geralmente é o nome do domínio ou algo parecido). O IP do VPS você encontra no painel do cliente, em Meus Serviços → Meu VPS.
Após digitar, você será solicitado a digitar a senha. Digite com cuidado — não aparece no terminal, mas está lá!
Passo 2: Crie um repositório Git no servidor
Agora que você está dentro do VPS, vamos criar um repositório Git que vai receber as atualizações do seu código.
Supondo que seu site está na pasta /home/seu-usuario/public_html, vamos entrar nela:
cd /home/seu-usuario/public_html
Depois, inicialize o repositório Git:
git init
Pronto! Agora o servidor sabe que esse diretório é um repositório Git. Vamos criar um arquivo de configuração que vai permitir o acesso seguro:
git config --local user.name "Seu Nome"
git config --local user.email "seu.email@exemplo.com"
Substitua os dados pelo seu nome e e-mail real. Isso ajuda a rastrear quem fez o commit.
Passo 3: Configure um webhook (ou gatilho) no seu repositório remoto
Agora vem a parte mágica: quando você fizer um git push no GitHub (ou GitLab), o servidor precisa saber que algo mudou.
Para isso, vamos usar um webhook — uma notificação automática.
1. Vá até o seu repositório no GitHub (ou GitLab). 2. Clique em Settings → Webhooks → Add webhook. 3. No campo Payload URL, coloque o endereço do seu VPS onde o script vai receber a notificação. Ele será algo assim:
https://seu-domínio.com.br/webhook
Substitua seu-domínio.com.br pelo domínio do seu site. Esse caminho será criado em breve.
4. No campo Content type, selecione application/json.
5. Em Events, escolha Just the push event.
6. Clique em Add webhook.
Dica do Sensei: Se você não sabe como configurar o webhook, não se preocupe. O próximo passo vai mostrar como criar o script que vai receber essa notificação.
Passo 4: Crie um script para receber o webhook
No VPS, vamos criar um script que vai ser chamado quando o webhook for acionado.
Primeiro, crie uma pasta chamada webhook dentro de public_html:
mkdir /home/seu-usuario/public_html/webhook
Depois, crie um arquivo chamado deploy.sh dentro dessa pasta:
nano /home/seu-usuario/public_html/webhook/deploy.sh
Coloque o seguinte conteúdo dentro do arquivo:
#!/bin/bash
cd /home/seu-usuario/public_html
git pull origin main
echo "Deploy realizado com sucesso!"
Substitua main pelo nome da sua branch principal (pode ser master ou outra, depende do seu repositório).
Salve o arquivo com Ctrl + O, depois Enter. Feche com Ctrl + X.
Agora, dê permissão de execução ao script:
chmod +x /home/seu-usuario/public_html/webhook/deploy.sh
Passo 5: Configure o servidor para aceitar o webhook
Seu servidor precisa saber que, quando alguém acessar /webhook/deploy.sh via HTTP, ele deve executar o script.
Para isso, você precisa configurar o Apache ou Nginx para permitir isso. Como o painel da GeHost não permite editar esses arquivos diretamente, você vai precisar usar o SSH novamente.
Abra o arquivo de configuração do seu site (geralmente em /etc/apache2/sites-available/seu-domínio.conf ou similar) com:
sudo nano /etc/apache2/sites-available/seu-domínio.conf
Procure pela linha que diz DocumentRoot e adicione estas linhas dentro da tag <Directory>:
<Directory /home/seu-usuario/public_html/webhook>
AllowOverride All
Require all granted
</Directory>
Salve e feche.
Depois, reinicie o Apache:
sudo systemctl restart apache2
Passo 6: Teste o deploy
Agora é a hora de testar! Vá até o seu repositório no GitHub e faça um pequeno ajuste no código (por exemplo, altere o título de uma página).
Depois, faça o commit e o push:
git add .
git commit -m "Teste de deploy automático"
git push origin main
Volte para o seu site no navegador. Atualize a página. Se tudo deu certo, o novo código já está lá!
Dica do Sensei: Se não funcionar, verifique se o webhook está ativo, se o script tem permissão de execução, e se o nome da branch está corre