Como configurar um pipeline de CI/CD com GitLab no VPS da GeHost imprimir

  • 0

Como configurar um pipeline de CI/CD com GitLab na hospedagem GeHost

Oi! Eu sou a Sensei da GeHost 🌱 e hoje vou te ensinar, com bastante calma, como conectar seu projeto no GitLab a um pipeline de CI/CD (Integração Contínua / Entrega Contínua) que publica automaticamente as atualizações do seu site ou sistema na sua hospedagem. Nada de mistério: vamos passo a passo, sem pressa.

Importante antes de começar: os planos de hospedagem da GeHost funcionam em painel cPanel. Recursos como acesso SSH podem variar de acordo com o seu plano e configuração. Antes de montar o pipeline, confirme no painel.gehost.com.br ou com o nosso suporte se o seu ambiente tem acesso SSH liberado — é a partir dele que o GitLab vai conseguir "conversar" com a sua hospedagem.

1. Entenda o que o pipeline vai fazer

Pipeline de CI/CD, no fundo, é uma receita de bolo automática: toda vez que você atualiza o código no GitLab, um robozinho (o "runner") executa uma sequência de tarefas — testar, empacotar e, no final, enviar os arquivos atualizados para a sua hospedagem. Assim você não precisa mais subir arquivo manualmente.

2. Verifique o acesso SSH na sua hospedagem

  1. Acesse o cPanel da sua conta.
  2. Procure a opção de SSH Access (Acesso SSH) dentro do painel.
  3. Se não encontrar essa opção ou não tiver certeza se está habilitada, fale com o nosso suporte informando o domínio da sua hospedagem — eles confirmam certinho pra você.
Tela de login do cPanel

Sem acesso SSH, ainda é possível automatizar publicações via FTP/SFTP dentro do pipeline — vamos comentar essa alternativa lá no final, não se preocupe.

3. Gere uma chave SSH exclusiva para o pipeline

Por segurança, nunca use sua senha pessoal dentro do pipeline. O ideal é uma chave SSH dedicada só para essa automação.

  1. No seu computador (ou em um ambiente seguro), gere um par de chaves SSH.
  2. Adicione a chave pública na sua hospedagem, na seção de gerenciamento de chaves SSH do cPanel.
  3. Guarde a chave privada — ela vai para o GitLab, nunca para o código do projeto.

4. Cadastre a chave privada como variável segura no GitLab

  1. No seu projeto do GitLab, vá em Settings > CI/CD > Variables.
  2. Crie uma variável (por exemplo SSH_PRIVATE_KEY) e cole o conteúdo da chave privada.
  3. Marque a variável como Protected e Masked, para que ela não apareça nos logs do pipeline.

5. Crie o arquivo .gitlab-ci.yml

Esse arquivo é o "roteiro" do pipeline. Ele fica na raiz do seu repositório. Um exemplo simples de deploy via SSH/rsync:

deploy:
  stage: deploy
  script:
    - mkdir -p ~/.ssh
    - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
    - chmod 600 ~/.ssh/id_rsa
    - rsync -avz -e "ssh -o StrictHostKeyChecking=no" ./ usuario@seu-dominio.com.br:~/public_html/
  only:
    - main

Troque usuario e o caminho de destino pelos dados reais da sua conta (você encontra isso no painel ou pede ao suporte). A ideia é: sempre que houver uma atualização na branch main, o pipeline copia os arquivos automaticamente para dentro da sua hospedagem.

6. Teste o pipeline

  1. Faça um commit e um push para o GitLab.
  2. Acompanhe a execução em CI/CD > Pipelines dentro do próprio GitLab.
  3. Se der tudo certo, confira se os arquivos chegaram na sua hospedagem usando o Gerenciador de Arquivos do cPanel.
Gerenciador de Arquivos do cPanel mostrando a árvore de pastas
Dica da Sensei: comece testando o pipeline em uma pasta de testes dentro da hospedagem (tipo public_html/teste) antes de apontar direto para o site principal. Assim você evita sustos em produção. 💛

7. Alternativa sem acesso SSH: deploy via FTP/SFTP

Se o seu plano não tiver SSH liberado, dá pra fazer praticamente a mesma coisa usando um passo de deploy via FTP/SFTP no .gitlab-ci.yml, com um pacote como lftp ou uma imagem Docker própria para isso. O princípio é o mesmo: o GitLab envia os arquivos atualizados direto para a pasta da sua hospedagem a cada push.

8. Boas práticas para não ter dor de cabeça

  • Nunca deixe senha ou chave privada escrita direto no código — sempre use as variáveis protegidas do GitLab.
  • Rode o pipeline primeiro em uma branch de testes antes de liberar para a branch principal.
  • Faça backup antes de qualquer primeira execução em produção — você pode gerar um backup pela própria tela de Backup do cPanel.
  • Documente, no seu próprio projeto, quais pastas o pipeline sobrescreve, para você (ou sua equipe) nunca perder um arquivo por engano.
Ficou com dúvida em algum passo, ou não sabe se o seu plano tem acesso SSH? É só chamar o suporte da GeHost pelo painel.gehost.com.br que a gente te ajuda a configurar com carinho, direto no seu caso. 🌸

E é isso! Com esses passos, seu projeto passa a se atualizar sozinho na hospedagem sempre que você evoluir o código no GitLab. Um abraço da sua Sensei, e bons deploys! 🚀


Esta resposta lhe foi útil?

« Retornar