wils@web ~ $ cat ~/ajuda/como-configurar-gitlab-ci-cd-para-automacao-de-deploy-em-aplicacoes-node-js.md

DevOps

Como configurar GitLab CI/CD para automação de deploy em aplicações Node.js

atualizado em 08/08/2026

Configurar o GitLab CI/CD para automação de deploy em aplicações Node.js é uma maneira eficaz de otimizar o fluxo de trabalho e garantir a qualidade do código. Neste manual, abordaremos os passos necessários para realizar essa configuração.

Pré-requisitos

  • Conta no GitLab
  • Repositório de código da aplicação Node.js
  • Servidor para deploy (ex: VPS, AWS, etc.)
  • Node.js e npm instalados no servidor

Passo a Passo

1. Criar o arquivo .gitlab-ci.yml

O arquivo .gitlab-ci.yml é onde você define as etapas do CI/CD. Crie este arquivo na raiz do seu repositório.

stages:
  - build
  - test
  - deploy

build:
  stage: build
  script:
    - npm install

test:
  stage: test
  script:
    - npm test

deploy:
  stage: deploy
  script:
    - ssh user@your-server "cd /path/to/your/app && git pull && npm install && npm run build && pm2 restart your-app"
  only:
    - main

2. Configurar variáveis de ambiente

Vá para Settings > CI / CD > Variables no seu projeto GitLab e adicione as variáveis necessárias, como:

  • SSH_PRIVATE_KEY: chave privada para acesso SSH ao servidor
  • NODE_ENV: ambiente da aplicação (ex: production)

3. Configurar acesso SSH

Adicione a chave pública correspondente à chave privada que você configurou nas variáveis de ambiente no arquivo ~/.ssh/authorized_keys do seu servidor.

4. Testar o pipeline

Faça um commit e push para o branch principal. O GitLab irá iniciar o pipeline automaticamente. Você pode acompanhar o progresso na aba CI/CD do seu projeto.

Conclusão

Após seguir os passos acima, você terá um pipeline de CI/CD funcional para sua aplicação Node.js no GitLab. Mantenha seu .gitlab-ci.yml atualizado conforme sua aplicação evolui.

Dica: Utilize o pm2 para gerenciar suas aplicações Node.js em produção, garantindo que elas reiniciem automaticamente em caso de falhas.

Precisa de ajuda com isso no seu servidor? A gente resolve pra você.

falar no WhatsApp

// deu erro ou não funcionou?

Achou algo errado neste manual?

Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.