CI/CD com GitLab: O pipeline perfeito para deploy automático em VPS

Automatize seu fluxo de trabalho. Veja como configurar um pipeline no GitLab para fazer deploy automático da sua aplicação em uma VPS da OTH HOST a cada push.

Deixe os Robôs Trabalharem

Fazer upload de arquivos via FTP ou puxar alterações via Git manualmente no servidor são práticas do passado. Com CI/CD (Continuous Integration/Continuous Deployment), você garante que cada linha de código aprovada vá para produção automaticamente, sem intervenção humana e com menos erros.

Pré-requisitos

  • Uma VPS na OTH HOST com acesso SSH.
  • Um projeto no GitLab.
  • Um par de chaves SSH (pública/privada).

Configurando o Pipeline

1. Variáveis de CI/CD

No seu projeto GitLab, vá em Settings > CI/CD > Variables e adicione:

  • SSH_PRIVATE_KEY: Sua chave privada (sem senha).
  • SERVER_IP: O IP da sua VPS.
  • SERVER_USER: Usuário (ex: master).

2. O Arquivo .gitlab-ci.yml

Crie este arquivo na raiz do seu projeto:

stages:
  - deploy

deploy_production:
  stage: deploy
  image: alpine:latest
  only:
    - main
  before_script:
    - apk add --no-cache openssh-client
    - eval $(ssh-agent -s)
    - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - ssh-keyscan $SERVER_IP >> ~/.ssh/known_hosts
    - chmod 644 ~/.ssh/known_hosts
  script:
    - ssh $SERVER_USER@$SERVER_IP "cd /var/www/meu-app && git pull origin main && npm install && pm2 restart all"

O Que Acontece Agora?

Toda vez que você fizer um push para a branch main, o GitLab subirá um container temporário, configurará o acesso SSH seguro e executará os comandos de atualização no seu servidor. Simples, rápido e seguro.

Escolha sua VPS para CI/CD

Artigo Anterior Kubernetes descomplicado: Quando (e quando não) usar K8s
Próximo Artigo Ansible para SysAdmins: Configurando 10 servidores web em minutos

Comentários (0)

Nenhum comentário ainda. Seja o primeiro a comentar!

Deixe seu comentário

Mínimo 10 caracteres, máximo 2000 caracteres.