Como configurar deploy automático do seu projeto via Git no VPS Print

  • 0

Como configurar o deploy automático do seu projeto via Git no VPS

Oi! Aqui é a Sensei da GeHost 🥋 Se você já cansou de subir arquivo por FTP toda vez que atualiza o código, esse guia é pra você. Vamos configurar um deploy automático via Git: você dá um git push lá do seu computador e, alguns segundos depois, o site já está atualizado no seu VPS. Sem enrolação, sem arrastar pasta em cliente FTP.

Vou te mostrar o caminho mais simples e mais usado: um repositório "bare" no servidor + um hook de post-receive que atualiza os arquivos automaticamente. É leve, não depende de serviço externo e funciona muito bem pra projetos de porte pequeno/médio.

Antes de começar: esse guia é para quem tem um VPS GeHost com acesso SSH. Se o seu plano é de hospedagem compartilhada (cPanel), fala com a nossa equipe pelo painel.gehost.com.br que a gente te orienta sobre as opções de deploy disponíveis pro seu tipo de conta.

O que você vai precisar

  • Acesso SSH ao seu VPS (usuário e chave/senha configurados);
  • Git instalado na sua máquina local;
  • Seu projeto já versionado num repositório Git (local ou num serviço como GitHub/GitLab);
  • Um pouquinho de paciência na primeira vez — depois disso, é só git push pra sempre 😉

Passo 1 — Conecte no seu VPS via SSH

Abra o terminal do seu computador e conecte no servidor com o usuário e o endereço que você recebeu no e-mail de entrega da GeHost:

  1. Digite ssh seu_usuario@seu-endereco-do-vps e pressione Enter;
  2. Informe sua senha (ou deixe a chave SSH fazer a autenticação automática, se você já configurou uma);
  3. Pronto, você está "dentro" do servidor.
Não lembra o endereço ou o usuário do seu VPS? Dá uma olhada no e-mail de entrega ou fala com a gente pelo painel.gehost.com.br que a equipe te repassa certinho.

Passo 2 — Crie o repositório "bare" no servidor

O repositório bare é uma pastinha especial que só guarda o histórico do Git — é pra onde você vai mandar o git push. Ainda no terminal do servidor:

  1. Crie uma pasta pro seu repositório, por exemplo: mkdir -p ~/git/meuprojeto.git
  2. Entre nela: cd ~/git/meuprojeto.git
  3. Inicialize como bare: git init --bare

Isso cria só o "esqueleto" do Git — os arquivos de verdade do seu site vão ficar em outra pasta, que é a pasta pública que o navegador enxerga (geralmente algo como public_html ou a raiz do seu domínio no VPS).

Passo 3 — Configure o hook de post-receive

Aqui é onde a mágica acontece: um "hook" é um script que o Git dispara sozinho toda vez que recebe um push. Vamos configurar ele pra copiar os arquivos atualizados direto pra pasta do seu site.

  1. Ainda dentro de ~/git/meuprojeto.git, entre na pasta de hooks: cd hooks
  2. Crie o arquivo do hook: nano post-receive
  3. Cole o conteúdo abaixo (troque o caminho pela pasta real do seu site):

#!/bin/bash
GIT_WORK_TREE=/caminho/para/a/pasta/do/seu/site git checkout -f

  1. Salve o arquivo (no nano: Ctrl+O, Enter, depois Ctrl+X pra sair);
  2. Dê permissão de execução: chmod +x post-receive
Dica da Sensei: se o seu projeto precisa de passos extras a cada deploy (tipo instalar dependências ou rodar um build), você pode incluir esses comandos dentro do mesmo arquivo post-receive, logo depois do git checkout. Assim tudo acontece automaticamente no mesmo push.

Passo 4 — Aponte seu projeto local pro servidor

Agora, de volta no seu computador, dentro da pasta do seu projeto:

  1. Adicione o servidor como um "remote" do Git: git remote add producao ssh://seu_usuario@seu-endereco-do-vps/~/git/meuprojeto.git
  2. Confirme que deu certo: git remote -v

Passo 5 — Faça seu primeiro deploy

Chegou a hora boa. Com suas alterações commitadas localmente, rode:

git push producao main

(troque main pelo nome da sua branch principal, se for diferente, como master)

Se tudo estiver certo, você vai ver o Git enviando os arquivos e, no final, o hook rodando sozinho. Dá um F5 no seu site — as mudanças já devem estar lá! 🎉

Dicas pra deploys mais tranquilos

  • Configure uma chave SSH no seu computador em vez de digitar senha toda hora — deixa o processo bem mais rápido e seguro;
  • Nunca versione arquivos sensíveis (senhas, chaves de API, arquivos de configuração com credenciais) — use um arquivo .gitignore pra mantê-los fora do repositório;
  • Teste sempre em uma cópia/ambiente de teste antes, se o seu projeto for algo em produção com muitos usuários;
  • Se o seu projeto tiver banco de dados, lembre que o deploy via Git atualiza os arquivos — mudanças de banco de dados precisam ser tratadas à parte.
Deu algum erro de permissão? O usuário SSH precisa ter permissão de escrita tanto na pasta do repositório bare quanto na pasta pública do site. Se aparecer alguma mensagem de "permission denied", é sinal de que vale revisar essas permissões.

Precisa de uma força?

Se travar em algum passo, sem crise — abre um chamado lá no painel.gehost.com.br contando o que aconteceu (se puder, cola a mensagem de erro certinha) que a gente te ajuda a destravar. E lembra: todo serviço entregue pela GeHost já vem com 30 dias de suporte gratuito após a entrega, então aproveita essa janela pra tirar qualquer dúvida com a gente. 💙


Was this answer helpful?

« Back