Como automatizar o deploy da sua aplicação com GitHub Actions
Oi! Aqui é a Sensei, da equipe GeHost 🥋 Hoje eu vou te ensinar um dos truques mais úteis pra quem programa: fazer o seu site ou aplicação subir sozinho pra hospedagem toda vez que você atualizar o código no GitHub. Chega de arrastar arquivo por FTP na mão!
Vamos usar o GitHub Actions, uma ferramenta gratuita do próprio GitHub que roda "robozinhos" (workflows) sempre que você dá um push no seu repositório. Com ele, a gente configura um passo automático de deploy via FTP/SFTP direto pra sua hospedagem na GeHost.
Pra quem serve este guia: se você já tem um site/aplicação hospedado na GeHost e um repositório no GitHub com o código do projeto, você está pronto pra seguir os passos abaixo. Se o seu plano/contratação tiver algum tipo de acesso mais avançado (como SSH), fale com o suporte pra confirmar a disponibilidade e os dados de acesso — aqui vamos focar no caminho que funciona pra qualquer hospedagem GeHost: o deploy via FTP/SFTP.
Passo 1 — Pegue os dados de acesso FTP no seu painel
Primeiro, você precisa saber o endereço do servidor FTP, o usuário e a senha da sua hospedagem. Esses dados ficam no cPanel, que você acessa a partir do seu painel.gehost.com.br.
- Entre no cPanel da sua hospedagem.
- Procure a área de Contas FTP (dentro do grupo "Arquivos"). Se preferir usar uma conta já existente, você pode reaproveitar a conta FTP principal.
- Anote: host FTP, usuário e senha. Se tiver dúvida sobre qual é o host correto do seu domínio, confirme com o suporte GeHost — cada domínio pode ter uma configuração própria.
Também é bom dar uma olhada em qual pasta o seu site fica publicado — normalmente é a public_html (ou uma subpasta dela, se o domínio for um addon/subdomínio). É pra essa pasta que o GitHub vai mandar os arquivos.
Dica da Sensei: antes de automatizar qualquer coisa, tira um backup manual da sua hospedagem pela tela de Backup do cPanel. É rapidinho e te dá tranquilidade total pra testar o novo fluxo sem medo.
Passo 2 — Guarde os dados com segurança no GitHub (Secrets)
Nunca coloque usuário e senha do FTP direto no código! O GitHub tem um cofre próprio pra isso, chamado Secrets.
- No seu repositório do GitHub, vá em Settings → Secrets and variables → Actions.
- Clique em New repository secret e crie estes três:
FTP_SERVER— o host FTP que você anotou no cPanel.FTP_USERNAME— o usuário da conta FTP.FTP_PASSWORD— a senha da conta FTP.
Pronto — esses dados ficam criptografados e só o robô do GitHub Actions consegue usá-los durante o deploy.
Passo 3 — Crie o arquivo do workflow
Agora vem a mágica. Dentro do seu repositório, crie a pasta .github/workflows e, dentro dela, um arquivo chamado, por exemplo, deploy.yml. Cole este conteúdo (ajustando o que for do seu projeto):
name: Deploy para GeHost
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Baixar o código
uses: actions/checkout@v4
# Se o seu projeto precisa de build (ex.: React, Vue, etc.), descomente:
# - name: Instalar dependências e gerar build
# run: |
# npm install
# npm run build
- name: Enviar arquivos via FTP
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
local-dir: ./
server-dir: ./public_html/
Explicando rapidinho o que cada parte faz:
- on: push: branches: main — diz que o deploy roda automaticamente toda vez que você atualizar a branch principal (troque
mainpormasterse for o nome da sua branch). - checkout — baixa o código mais recente do seu repositório.
- build (opcional) — se seu projeto precisa "compilar" (React, Vue, Angular etc.), esse passo gera os arquivos finais antes do envio.
- FTP-Deploy-Action — pega os arquivos e envia direto pra pasta do seu site na GeHost, usando os secrets que você configurou.
Dica da Sensei: se o seu projeto é só HTML/CSS/JS puro (sem build), pode remover o bloco de build comentado e apontar local-dir direto pra pasta onde estão seus arquivos prontos.
Prefere SFTP em vez de FTP?
Se a sua conta tiver acesso SFTP habilitado, dá pra usar uma action equivalente (ex.: wlixcc/SFTP-Deploy-Action), trocando os dados de conexão pelos de SFTP. O restante do fluxo é o mesmo: secrets guardados no GitHub, deploy disparado a cada push. Na dúvida sobre qual protocolo sua hospedagem disponibiliza, confirme com o suporte GeHost.
Passo 4 — Teste o deploy automático
- Faça um
commite umpushpra branchmaindo seu repositório. - No GitHub, vá na aba Actions do repositório e acompanhe o workflow rodando em tempo real.
- Quando o ícone ficar verde ✅, é sinal de que o deploy deu certo — acesse seu site e confira se a atualização chegou.
- Se der um X vermelho ❌, clique no workflow pra ver o log de erro (geralmente é usuário/senha errado ou caminho de pasta incorreto).
Dica da Sensei: mantenha o hábito de tirar um backup periódico pela tela acima, mesmo com o deploy automatizado. Automação é ótima, mas backup nunca é demais 😉
Recapitulando
- Pegue os dados FTP/SFTP no cPanel (via painel.gehost.com.br).
- Guarde esses dados como Secrets no GitHub.
- Crie o workflow em
.github/workflows/deploy.ymlapontando pra pasta do seu site. - Dê push e acompanhe pela aba Actions.
Com isso, cada atualização do seu projeto sobe sozinha pra hospedagem, sem você precisar arrastar nenhum arquivo na mão. Qualquer dúvida no meio do caminho, é só chamar o suporte GeHost — a gente te ajuda a destravar 🚀