Como configurar um pipeline de deploy automatizado com GitHub Actions para o seu VPS (via GeHost)
Olá, viajante do código! Seja bem-vindo ao seu primeiro passo rumo ao deploy automático — sim, aquele sonho de fazer um push no GitHub e ver seu site atualizado em segundos, sem precisar entrar no servidor manualmente. Aqui, na GeHost, vamos te guiar com carinho, passo a passo, como montar esse pipeline usando GitHub Actions e o seu VPS (servidor dedicado ou VPS da GeHost).
Antes de tudo: seu VPS está hospedado com a GeHost? Sim? Perfeito! Você já tem o ambiente certo. Este guia é feito para quem já tem acesso ao servidor, sabe como se conectar via SSH e tem um repositório no GitHub com seu site ou aplicação.
Dica do Sensei: Se você ainda não tem um repositório no GitHub, crie um agora! Ele será o coração do seu pipeline. Use o nome do seu site ou projeto, e deixe ele público ou privado — o que importa é que ele esteja conectado ao seu código.
Passo 1: Prepare seu repositório no GitHub
Antes de tudo, seu código precisa estar no GitHub. Se ainda não está, siga esses passos:
- Entre no GitHub e crie um novo repositório.
- Nomeie-o com algo como
meu-siteouprojeto-web. - Adicione um arquivo
index.htmlou o arquivo principal do seu site. - Comite e faça o push para o GitHub.
Pronto! Agora seu código está no GitHub, e pronto para ser automatizado.
Passo 2: Ative o acesso SSH no seu VPS (GeHost)
Para o GitHub Actions enviar seu código ao servidor, ele precisa se conectar via SSH. Para isso, você precisa ter uma chave SSH configurada no seu VPS.
Se ainda não tem, faça isso:
- Entre no painel da GeHost.
- Na seção de Gerenciamento de Servidores, localize seu VPS.
- Acesse o Terminal (SSH) ou a opção de gerenciamento de chaves SSH.
- Verifique se há uma chave SSH pública já configurada. Se não, crie uma nova.
- Copie a chave pública SSH (geralmente começa com
ssh-rsa).
Dica do Sensei: Use o comando ssh-keygen no seu computador para gerar uma chave, se ainda não tiver. Não se preocupe — é seguro e simples.
Passo 3: Adicione a chave SSH no GitHub (como deploy key)
Agora, vamos permitir que o GitHub Actions se conecte ao seu servidor com segurança.
- No GitHub, vá até seu repositório.
- Clique em Settings (Configurações).
- No menu lateral, clique em Deploy keys.
- Clique em Add deploy key.
- Coloque um nome, como
Deploy to GeHost VPS. - Coloque a chave pública SSH que você copiou antes.
- Marque a opção Allow write access (permitir acesso de escrita).
- Clique em Add key.
Pronto! Agora o GitHub pode enviar arquivos para o seu servidor.
Passo 4: Crie o arquivo de pipeline no GitHub Actions
Este é o coração do processo. Vamos criar um arquivo que diz ao GitHub: “Quando alguém fizer um push, faça isso no servidor”.
- No seu repositório do GitHub, vá até a aba Actions.
- Clique em New workflow.
- Escolha a opção Set up a workflow yourself.
- Substitua todo o conteúdo do arquivo por este:
name: Deploy to GeHost VPS
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy to VPS
uses: appleboy/ssh-action@v0.1.6
with:
host: ${{ secrets.VPS_HOST }}
username: ${{ secrets.VPS_USER }}
key: ${{ secrets.VPS_SSH_KEY }}
script: |
cd /home/usuario/public_html
git pull origin main
echo "Deploy realizado com sucesso!"
⚠️ Importante: Substitua usuario pelo nome do usuário do seu VPS (ex: meuusuario). O caminho /home/usuario/public_html é o padrão do cPanel — se seu site estiver em outra pasta, ajuste o caminho.
Passo 5: Configure as secrets no GitHub
Os dados sensíveis (como senha do servidor) não podem ficar no código. Por isso, vamos usar o GitHub Secrets.
- No GitHub, vá até Settings → Secrets and variables → Actions.
- Clique em New repository secret.
- Crie as seguintes variáveis:
- Nome:
VPS_HOST→ Valor: o IP ou domínio do seu VPS (ex:meu-servidor.gehost.com.br) - Nome:
VPS_USER→ Valor: o nome do usuário SSH (ex:rootoumeuusuario) - Nome:
VPS_SSH_KEY→ Valor: sua chave privada SSH (não a pública!)
⚠️ Cuidado: A chave privada deve ser colada exatamente como é, com -----BEGIN OPENSSH PRIVATE KEY----- e tudo. Não use espaços extras.
Dica do Sensei: Se você tiver dificuldade com a chave, use o gerador de chaves SSH online para criar uma nova e copiar a privada com cuidado.
Passo 6: Teste o pipeline
Pronto! Agora, faça um pequeno ajuste no seu código (ex: altere o título do index.html) e faça um commit e push.
Volte para a aba Actions no GitHub. Você verá um novo workflow rodando. Espere alguns segundos — ele vai:
- Buscar seu código no GitHub.
- Conectar ao seu VPS via SSH.
- Executar o comando
git pull origin mainna pasta do site. - Atualizar o site automaticamente.
Se tudo der certo, você verá a mensagem: “Deploy realizado com sucesso!”
Passo 7: Aproveite o poder da automação!
Depois disso, toda vez que você fizer um push no branch main, seu site será atualizado automaticamente. Isso é DevOps em ação — sem esforço, sem erro humano.
Se algo der errado, verifique:
- O IP ou domínio do VPS está correto?
- O nome de usuário está certo?
- A chave privada está completa e sem erros?
- O caminho da pasta do site está certo?
Se ainda tiver dúvidas, entre em contato com o suporte da GeHost — estamos aqui para te ajudar. E lembre-se: o suporte é gratuito por 30