Como configurar um pipeline simples de deploy automático (CI/CD) para meu projeto no VPS
Olá, querido(a) desenvolvedor(a)!
Seja bem-vindo(a) ao seu primeiro passo rumo à automação do seu projeto. Aqui, na GeHost, entendemos que você quer focar no que faz de melhor: criar coisas incríveis — e não ficar repetindo tarefas chatas como "subir o código, testar, subir de novo". Por isso, vamos te ensinar, com carinho, como montar um pipeline simples de deploy automático (CI/CD) — mesmo que você esteja começando agora.
💡 Dica do Sensei: Não se preocupe se ainda não domina tudo. O importante é começar. Cada deploy automático que você faz é um passo mais perto da liberdade de focar no que importa: o seu projeto.
Entendendo o que é CI/CD (sem complicar)
CI/CD é só uma forma bonita de dizer:
- CI (Integração Contínua): toda vez que você atualiza seu código, o sistema testa e prepara para o deploy.
- CD (Entrega Contínua): o código atualizado é enviado automaticamente para o servidor, sem você precisar clicar em "enviar".
É como ter um ajudante que nunca dorme, sempre atento, e que faz tudo sozinho — mas só depois que você ensina como.
Passo a passo: montando seu pipeline simples no VPS
Como você está no VPS (servidor dedicado), você tem mais controle. Vamos usar ferramentas simples e eficazes, tudo com comando claro e passo a passo.
-
Garanta que seu VPS esteja atualizado
Antes de tudo, conecte-se ao seu servidor via SSH. Use o terminal do seu computador (Linux/Mac) ou um cliente como Putty (Windows).
Execute:
sudo apt update && sudo apt upgrade -y
Isso garante que seu sistema esteja com as últimas atualizações de segurança.
-
Instale o Git no seu servidor
Se ainda não tiver, instale o Git para que o sistema possa baixar seu código automaticamente:
sudo apt install git -y
Depois, verifique com:
git --version
-
Crie uma pasta para seu projeto
Escolha um local no servidor (ex:
/var/www/meu-projeto):sudo mkdir /var/www/meu-projeto
Entre na pasta:
cd /var/www/meu-projeto
-
Clone seu repositório do GitHub (ou outro)
Use o comando
git clonecom o link do seu repositório:git clone https://github.com/seu-usuario/meu-projeto.git .
⚠️ Atenção: O ponto no final (
git clone ... .) é importante — ele clona o conteúdo diretamente na pasta atual. -
Crie um arquivo de deploy automático (script)
Crie um script chamado
deploy.sh:sudo nano deploy.sh
Adicione este conteúdo básico:
#!/bin/bash echo "Iniciando deploy..." cd /var/www/meu-projeto git pull origin main echo "Deploy concluído com sucesso!"Pressione Ctrl + X, depois Y e Enter para salvar.
Deixe o script executável:
sudo chmod +x deploy.sh
-
Configure um webhook no GitHub
No seu repositório do GitHub, vá em Settings → Webhooks → Add webhook.
Configure assim:
- Payload URL:
https://seu-domínio.com.br/webhook(substitua pelo seu domínio) - Content type:
application/json - Which events would you like to trigger this webhook? Selecione Just the push event
Salve o webhook.
- Payload URL:
-
Crie um endpoint no servidor para receber o webhook
Crie um arquivo chamado
webhook.phpna pasta do projeto:sudo nano /var/www/meu-projeto/webhook.php
Adicione este código simples:
&1'); echo "Deploy iniciado: " . $output; ?>Salve com Ctrl + X, Y, Enter.
-
Teste o pipeline
Atualize seu código no GitHub (ex: altere um arquivo de texto). Em poucos segundos, o webhook será acionado.
Se tudo estiver certo, o script
deploy.shserá executado automaticamente, atualizando seu projeto no servidor.Verifique no terminal do servidor se o código foi atualizado com:
cd /var/www/meu-projeto && git log --oneline -5
Pronto! Você tem seu primeiro CI/CD simples
Parabéns, Sensei! Você acabou de automatizar o deploy do seu projeto — e tudo isso com apenas um script e um webhook. Não precisa de ferramentas complexas. Só o básico: Git, SSH, PHP e um pouco de paciência.
✨ Leve em conta: Este guia é para iniciantes. À medida que seu projeto crescer, você pode usar ferramentas como GitHub Actions ou GitLab CI para pipelines ainda mais poderosos. Mas por enquanto, este é seu caminho perfeito.
Quer ir além?
Se quiser, pode:
- Adicionar testes automáticos no script (ex: rodar
phpunit). - Enviar notificações por e-mail ou Telegram quando o deploy falhar.
- Usar PM2 para gerenciar processos do seu app rodando no servidor.
Se precisar de ajuda, seu suporte da GeHost está disponível por 30 dias após a entrega — e você pode entrar no painel do cliente para verificar seu plano, acesso e mais.
Seu projeto está no ar. Seu coração está tranquilo. E o CI/CD? Está funcionando como um coração de verdade — batendo sem parar.
Com carinho,
Seu Sensei da GeHost
*Grupo: G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04)*