Need CI/CD pipeline to deploy the code on merge request approval on target server. The Target sever is running Ubuntu. On every deployment the code need to be updated on the server , npm update , PM2 restart the node or start after purging the existing logs.
configure the GIT to send email on pipeline success.
NOTE: Git branch are specific to a server ( DEV or QA ) Etc.
stages:
- deploy
deploy_to_production:
stage: deploy
script:
- echo "Deploying to production server..."
- cd /path/to/your/app
- git pull origin master
- npm install
- npm update
- pm2 restart your-app-name --update-env
- pm2 flush
environment:
name: production
url: http://your-production-url.com
only:
- master
rules:
- if: $CI_MERGE_REQUEST_APPROVED
PM2: https://www.youtube.com/watch?v=ebdKIU6SDHI
Te permite mantener tu aplicación viva por más que ocurra un error.
npm install pm2@latest -g
pm2 start app.js
pm2 logs
pm2 stop app
pm2 start app.js "MY APP" --watch
pm2 logs
pm2 stop "MY APP"
pm2 stop "app"
pm2 delete all
pm2 start app.js "MY APP" --watch
pm2 ls
pm2 logs