Como automatizar deploy de atualizações do site via SSH e Git
Olá, querido(a) cliente da GeHost! Seja bem-vindo(a) ao seu guia de automatização de atualizações com segurança e precisão — sem complicações. Aqui, você vai aprender a atualizar seu site automaticamente sempre que fizer um commit no Git, diretamente do seu servidor, com apenas alguns passos simples. Vamos juntos, como um verdadeiro time de desenvolvimento?
O que você vai conseguir com isso?
- Atualizar seu site automaticamente após cada alteração no Git.
- Evitar erros humanos de upload manual.
- Ter um fluxo de trabalho limpo, profissional e escalável.
É como se seu site "acordasse" sozinho toda vez que você fizer uma melhoria — sem precisar tocar no servidor.
Pré-requisitos (nada de mágica, só boas práticas)
Antes de começar, confira estes pontos:
- Você já tem um domínio hospedado na GeHost.
- Seu site está dentro da pasta
public_html(ou subdomínio). - Seu servidor tem acesso SSH ativado (isso já vem habilitado nos planos GeHost).
- Você tem um repositório Git criado (local ou remoto, como GitHub, GitLab ou Bitbucket).
Se tudo isso está no lugar, vamos lá!
Passo a passo: configuração no servidor
- Conecte-se ao servidor via SSH
Use seu cliente SSH favorito (como PuTTY, Terminal, ou VS Code com SSH). Conecte-se com os dados do seu painel:Usuário: seu_usuário
Host: seu_servidor.gehost.com.br
Porta: 22Se não souber esses dados, acesse o painel do cliente e verifique em "Acesso SSH".
- Entre na pasta do seu site
No terminal, digite:cd public_html
Se seu site estiver em uma subpasta, ajuste o caminho (ex:
cd public_html/meu-site). - Clone ou inicialize o repositório Git
Se ainda não tiver um repositório no servidor:git init
Se já tiver um repositório remoto (ex: GitHub), clone-o:
git clone https://github.com/seu-usuario/seu-site.git .
Isso vai trazer todos os arquivos para o servidor.
- Configure o branch principal
Certifique-se de que o branch padrão é omain(oumaster, dependendo do seu repositório):git checkout main
- Adicione um hook de deploy automático
Crie um arquivo chamadopost-receivedentro da pasta.git/hooks/:cd .git/hooks
Abra o arquivo com um editor de texto (como
nanoouvim):nano post-receive
Insira o seguinte conteúdo:
#!/bin/bash echo "Atualizando o site..." cd /home/seu_usuário/public_html git pull origin main echo "Deploy concluído!"Salve e saia (no nano: Ctrl + O, Enter, Ctrl + X).
- Torne o hook executável
No terminal, execute:chmod +x post-receive
Isso permite que o sistema execute o script automaticamente após um
git push. - Configure o repositório remoto (opcional, mas recomendado)
Se você estiver usando um repositório remoto (como GitHub), certifique-se de que o servidor está configurado como um repositório remoto (não apenas local). Isso permite que ogit pullfuncione corretamente.
Como fazer o deploy
Depois de configurar tudo, basta:
- Comitar suas alterações localmente:
git add .
git commit -m "Atualização do site"
- Enviar para o servidor:
git push origin main
Pronto! O servidor receberá a atualização automaticamente, sem você precisar fazer nada além de git push.
Dicas do Sensei
💡 Use branches separados: desenvolva em
develope só façagit pushparamainquando estiver pronto. Assim, evita atualizações acidentais.💡 Evite arquivos sensíveis no Git: não inclua arquivos como
config.phpcom senhas. Use arquivos de exemplo e configure os dados no servidor.💡 Teste em ambiente de desenvolvimento: antes de atualizar o site real, teste no servidor com um domínio de teste ou subdomínio.
Quer mais segurança?
Se quiser, você pode usar SSH keys em vez de senha para autenticação no Git. Isso é mais seguro e prático para automações. O cPanel tem uma seção dedicada a chaves SSH — consulte o painel ou entre em contato com o suporte.
Problemas comuns (e como resolver)
- Erro: "Permission denied" → Verifique se o arquivo
post-receivetem permissão de execução (chmod +x post-receive). - Erro: "fatal: not a git repository" → Certifique-se de que o
git initfoi executado na pasta correta. - Atualização não aparece → Confira se o branch está correto e se o
git pullestá apontando para omain.
Quer ajuda?
Se algo não funcionar como esperado, o suporte da GeHost está aqui para você — com 30 dias grátis após a entrega. Acesse o painel do cliente e abra um chamado. Vamos resolver juntos, como um time.
Se você gostou desse guia, compartilhe com quem também quer automatizar seu site com elegância e segurança. 🌟
Atenciosamente,
Seu Sensei da GeHost
*Grupo: G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04)*