From d8eb3bcef5335f2a9791139cde659c4a00e59892 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Mur=C3=A7a?= Date: Wed, 4 Jun 2025 18:35:01 -0300 Subject: [PATCH] Prepare for deploy --- .forgejo/workflows/deploy.yml | 26 +++++++++++--------------- ecosystem.config.cjs | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 15 deletions(-) create mode 100644 ecosystem.config.cjs diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index d07b49b..af9e57d 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -18,23 +18,19 @@ jobs: with: node-version: 19 - - name: Install rsync - run: | - apt-get update - apt-get install -y rsync + env: + SSH_PRIVATE_KEY: ${{secrets.SSH_KEY}} + SSH_KNOWN_HOSTS: ${{secrets.SSH_KNOWN_HOSTS}} - - name: Install dependencies - run: npm install - - - name: Build app - run: npm run build + - name: Install PM2 + run: npm i -g pm2 - name: Add Deploy Key to SSH run: | - mkdir ~/.ssh - echo "${{ secrets.SSH_KEY }}" >> ~/.ssh/id_ed25519_embroideryviewer - chmod 400 ~/.ssh/id_ed25519_embroideryviewer - echo -e "Host embroideryviewer\n\tUser embroideryviewer\n\tHostname 45.76.5.44\n\tIdentityFile ~/.ssh/id_ed25519_embroideryviewer\n\tStrictHostKeyChecking No" >> ~/.ssh/config + mkdir -p ~/.ssh + echo "${{ secrets.SSH_KEY }}" >> ./deploy.key + sudo chmod 600 ./deploy.key + echo "${{ secrets.SSH_KNOWN_HOSTS}}" > ~/.ssh/known_hosts - - name: Upload changes to server - run: rsync -avz --progress dist/ embroideryviewer:web/prod \ No newline at end of file + - name: Deploy + run: env $(cat .env | grep -v \"#\" | xargs) pm2 deploy ecosystem.config.cjs production diff --git a/ecosystem.config.cjs b/ecosystem.config.cjs new file mode 100644 index 0000000..38a4b89 --- /dev/null +++ b/ecosystem.config.cjs @@ -0,0 +1,34 @@ +module.exports = { + apps: [ + { + name: 'embroidery-viewer', + script: './build/index.js', + time: true, + instances: 1, + autorestart: true, + max_restarts: 50, + watch: false, + max_memory_restart: '1G', + env: { + NODE_ENV: 'production', + }, + }, + ], + deploy: { + production: { + user: 'deployer', + host: '45.76.5.44', + key: 'deploy.key', + ref: 'origin/main', + repo: 'git@git.leomurca.xyz:leomurca/embroidery-viewer.git', + path: '/home/deployer/embroidery-viewer', + 'pre-deploy': 'rm package-lock.json && npm i', + 'post-deploy': + 'npm run build && pm2 reload ecosystem.config.cjs --only acelera-alagoas-prod --env production && pm2 save', + env: { + PORT: 7017, + NODE_ENV: 'production', + }, + }, + }, +};