Como automatizar deploy de atualizações do site via SSH e Git imprimir

  • 0

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

  1. 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: 22

    Se não souber esses dados, acesse o painel do cliente e verifique em "Acesso SSH".

  2. 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).

  3. 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.

  4. Configure o branch principal
    Certifique-se de que o branch padrão é o main (ou master, dependendo do seu repositório):
    git checkout main
  5. Adicione um hook de deploy automático
    Crie um arquivo chamado post-receive dentro da pasta .git/hooks/:
    cd .git/hooks

    Abra o arquivo com um editor de texto (como nano ou vim):

    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).

  6. 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.

  7. 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 o git pull funcione corretamente.

Como fazer o deploy

Depois de configurar tudo, basta:

  1. Comitar suas alterações localmente:
  2. git add .
  3. git commit -m "Atualização do site"
  4. Enviar para o servidor:
  5. 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 develop e só faça git push para main quando estiver pronto. Assim, evita atualizações acidentais.

💡 Evite arquivos sensíveis no Git: não inclua arquivos como config.php com 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-receive tem permissão de execução (chmod +x post-receive).
  • Erro: "fatal: not a git repository" → Certifique-se de que o git init foi executado na pasta correta.
  • Atualização não aparece → Confira se o branch está correto e se o git pull está apontando para o main.

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)*


Esta resposta lhe foi útil?

« Retornar