Servidor & DevOps 1 visualizações

Como automatizar o deploy de uma aplicação usando GitHub Actions para o VPS da GeHost

Ver no WHMCS

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.

  1. Entre no cPanel da sua hospedagem.
  2. Procure a área de Contas FTP (dentro do grupo "Arquivos"). Se preferir usar uma conta já existente, você pode reaproveitar a conta FTP principal.
  3. 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.
Tela de login do cPanel, onde você acessa as configurações da sua hospedagem

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.

Gerenciador de Arquivos do cPanel mostrando a pasta public_html
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.

  1. No seu repositório do GitHub, vá em SettingsSecrets and variablesActions.
  2. 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 main por master se 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

  1. Faça um commit e um push pra branch main do seu repositório.
  2. No GitHub, vá na aba Actions do repositório e acompanhe o workflow rodando em tempo real.
  3. Quando o ícone ficar verde ✅, é sinal de que o deploy deu certo — acesse seu site e confira se a atualização chegou.
  4. Se der um X vermelho ❌, clique no workflow pra ver o log de erro (geralmente é usuário/senha errado ou caminho de pasta incorreto).
Tela de Backup do cPanel, útil para gerar um backup antes de automatizar o deploy
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.yml apontando 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 🚀

Precisa de Ajuda?

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