Como Automatizar Deploys com GitHub Actions (Guia para Iniciantes)
Olá, viajante da web! 👋 Seja bem-vindo(a) ao nosso guia de automatização de deploys com GitHub Actions. Se você já tem um projeto no GitHub e quer que ele se atualize automaticamente no seu servidor da GeHost — sem precisar clicar em "enviar" toda hora — este é o caminho perfeito. Vamos juntos, passo a passo, como transformar isso em realidade. Não se preocupe: não é difícil, nem mágico. É só um pouco de organização e paciência. E você já está no caminho certo!
Antes de começar: o que você precisa
- Um repositório no GitHub com seu projeto (site, app, etc.)
- Um domínio hospedado na GeHost
- Seu acesso ao cPanel (para configurar o deploy)
- Um token de acesso pessoal (PAT) no GitHub (vamos explicar como gerar)
Dica do Sensei: Se você ainda não tem um repositório no GitHub, crie um agora! É grátis, e o GitHub é o lar de milhões de desenvolvedores. Vamos lá!
Passo 1: Crie um token no GitHub (para acesso seguro)
Primeiro, precisamos permitir que o GitHub Actions acesse o seu repositório com segurança. Para isso, vamos gerar um Personal Access Token.
- Entre no seu GitHub (https://github.com)
- Clique no seu avatar no canto superior direito → Settings
- No menu lateral, escolha Developer settings → Personal access tokens
- Clique em Generate new token
- Dê um nome ao token (ex: "GeHost Deploy")
- Marque as permissões: repo (para acesso ao repositório) e workflow (para rodar ações)
- Clique em Generate token
- **Copie o token gerado agora!** Ele só aparece uma vez. Guarde em um lugar seguro (ex: um caderno digital).
Passo 2: Configure o GitHub Actions no seu repositório
Agora vamos criar o arquivo que vai dizer ao GitHub: “quando alguém fizer um push no branch principal, faça isso aqui!”
- No seu repositório no GitHub, clique em Actions no menu superior
- Escolha Set up a workflow yourself
- Apague o conteúdo padrão e cole este código:
name: Deploy to GeHost
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy via SSH
uses: appleboy/ssh-action@v0.1.6
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSH_KEY }}
script: |
cd /home/SEU_USUARIO/public_html
git pull origin main
echo "Deploy realizado com sucesso!"
Atenção! Substitua SEU_USUARIO pelo nome do seu usuário no cPanel (ex: gehost123). O caminho é sempre /home/SEU_USUARIO/public_html.
Passo 3: Adicione as credenciais no GitHub (segurança)
Não é seguro deixar senha ou chave SSH no código. Por isso, vamos usar o GitHub Secrets.
- No seu repositório, vá em Settings → Secrets and variables → Actions
- Clique em New repository secret
- Crie os seguintes segredos:
- HOST → o endereço do seu servidor (ex: gehost.com.br)
- USERNAME → seu usuário do cPanel
- SSH_KEY → sua chave privada SSH (veja o próximo passo)
Passo 4: Gere uma chave SSH para se conectar ao servidor
Para o GitHub Actions se conectar ao seu servidor via SSH, precisamos de uma chave.
- No terminal (ou em um gerador online seguro), gere uma chave SSH:
ssh-keygen -t rsa -b 4096 -C "gehost-deploy@yourdomain.com" - Salve a chave privada (ex:
id_rsa) e copie seu conteúdo (começa com-----BEGIN RSA PRIVATE KEY-----) - Adicione a chave pública (ex:
id_rsa.pub) ao seu servidor. Faça isso no cPanel:- Entre no cPanel → vá em SSH Access → Manage SSH Keys
- Clique em Import Key → cole o conteúdo da chave pública
- Selecione o usuário e salve
- Na sua chave privada (id_rsa), copie todo o conteúdo e cole no GitHub como SSH_KEY
Passo 5: Teste o deploy
Pronto! Agora, toda vez que você fizer um push no branch main, o GitHub Actions vai:
- Buscar o código no repositório
- Conectar ao seu servidor via SSH
- Atualizar o conteúdo da pasta
public_html - Mostrar uma mensagem de sucesso
Para testar, faça uma pequena alteração no código (ex: mude uma frase no index.html) e envie com:
git add .
git commit -m "Teste de deploy automático"
git push
Veja no menu Actions do seu repositório: você verá o processo rodando. Quando terminar, acesse seu site — a alteração já estará lá!
Dica do Sensei: Se algo der errado, verifique os logs no GitHub Actions. Eles mostram exatamente onde parou. Às vezes é só um erro de caminho ou permissão.
Conclusão: Automatização é poder
Parabéns! Você acabou de automatizar um deploy que antes exigia cliques e paciência. Agora, seu site se atualiza sozinho — com um simples git push. Isso é o que chamamos de DevOps em ação: trabalho mais inteligente, menos repetição, mais tempo livre para criar.
Se precisar de ajuda, estamos aqui. A GeHost é sua parceira no caminho da web. 💚
Até a próxima, viajante. Que seu código sempre esteja no ar!