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.
Nenhum comentário ainda. Seja o primeiro a comentar!