SSH & Avançado 0 visualizações

Como automatizar deploys do site usando um script via SSH

Ver no WHMCS

Deploy automático via SSH: o script que trabalha por você 🥋

Oi! Aqui é a Sensei da GeHost. Hoje vou te ensinar uma mágica que separa quem sobe site "no susto" (arrastando arquivo por arquivo) de quem tem um fluxo profissional: automatizar o deploy do seu site usando um script via SSH. Parece complicado, mas prometo que, seguindo o passo a passo com calma, você entende a lógica e nunca mais vai querer voltar ao jeito manual.

Este guia é da categoria SSH & Avançado — se você nunca usou o terminal antes, não tem problema, vou te guiar com carinho, mas talvez valha revisar antes um guia introdutório de SSH da nossa base de conhecimento.

O que é "automatizar o deploy"?

"Deploy" é o nome chique pra "colocar a versão nova do seu site no ar". Em vez de você entrar no Gerenciador de Arquivos e subir cada arquivo alterado na mão (o que é lento e fácil de errar), você escreve um script que faz isso sozinho: ele conecta no seu espaço de hospedagem via SSH e copia só o que mudou, de um jeito seguro e repetível.

Pré-requisitos

  • Ter acesso SSH liberado no seu plano — confirme isso no painel.gehost.com.br ou fale com nosso suporte, pois a disponibilidade pode variar conforme o plano contratado.
  • Um computador com terminal (Linux, macOS ou Windows com PowerShell/Git Bash).
  • Seu site já hospedado com a GeHost (a pasta de destino costuma ser a public_html).
Gerenciador de Arquivos do cPanel mostrando a árvore de pastas, incluindo public_html

1. Gere sua chave SSH

A chave SSH é como uma "digital digital" — ela permite que seu computador se autentique no servidor sem precisar digitar senha toda hora (e é mais seguro). No terminal, rode:

ssh-keygen -t ed25519 -C "seu-email@exemplo.com"

Isso gera duas chaves: uma privada (fica só no seu computador, nunca compartilhe) e uma pública (essa você registra no servidor).

2. Cadastre a chave pública

Copie o conteúdo da chave pública (geralmente em ~/.ssh/id_ed25519.pub) e cadastre-a no gerenciamento de chaves SSH do seu painel de hospedagem. Se tiver qualquer dúvida em qual tela fica essa opção, nosso suporte te mostra certinho.

3. Teste a conexão

Antes de automatizar qualquer coisa, confirme que a conexão manual funciona:

ssh seu_usuario@seu-dominio.com

Se você conseguiu entrar sem digitar senha, sua chave está funcionando perfeitamente. ✅

4. Escreva o script de deploy

Agora vem a parte boa. Um jeito simples e muito usado é o rsync, que copia só os arquivos que mudaram (rápido e econômico). Crie um arquivo, por exemplo deploy.sh, na pasta do seu projeto local:

#!/bin/bash
# Envia os arquivos locais para o public_html do servidor
rsync -avz --exclude '.git' \
  ./ seu_usuario@seu-dominio.com:~/public_html/

echo "Deploy concluído!"

Dê permissão de execução ao script:

chmod +x deploy.sh

E, quando quiser publicar uma atualização, é só rodar:

./deploy.sh
Dica da Sensei: sempre use a flag --exclude pra não enviar arquivos sensíveis (como .env, .git ou pastas de configuração local) para o servidor. Isso evita dor de cabeça e vazamento de dado sem querer.

5. Se você usa Git no projeto

Se o seu site vive num repositório Git, uma alternativa comum é fazer o script puxar as mudanças direto do repositório dentro do servidor, algo como:

#!/bin/bash
ssh seu_usuario@seu-dominio.com "cd ~/public_html && git pull origin main"

Assim, o próprio servidor busca a versão mais nova do código. Simples e direto.

6. Automatize de vez (opcional)

Depois que o script estiver redondo, você pode:

  1. Rodar ele manualmente sempre que terminar uma atualização (mais controle);
  2. Ou integrar num pipeline de CI/CD (como GitHub Actions) que dispara o deploy automaticamente a cada novo commit.

Comece pelo manual até ganhar confiança — automação demais sem entender o processo pode assustar mais do que ajudar.

Boas práticas de segurança 🔐

  • Nunca compartilhe sua chave privada com ninguém.
  • Faça sempre um backup antes de rodar deploys importantes — você pode gerar um pela área de Backup do seu painel.
  • Teste o script primeiro num ambiente ou pasta de testes, se possível, antes de mandar pra produção.
  • Revise o que o script está enviando (evite mandar arquivos de configuração sensíveis sem querer).
Tela de Backup do cPanel com opções de backup completo e parcial

Precisou de uma ajudinha?

Se travar em algum passo, é só chamar o nosso suporte — lembrando que todo serviço entregue pela GeHost já vem com 30 dias de suporte gratuito após a entrega. Bora automatizar esse deploy e ganhar tempo pra focar no que importa: o seu produto! 🚀

Precisa de Ajuda?

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