wils@web ~ $ cat ~/ajuda/como-configurar-gitlab-ci-cd-para-automacao-de-deploy-em-aplicacoes-node-js.md
DevOpsComo configurar GitLab CI/CD para automação de deploy em aplicações Node.js
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.