From aa0b2eeb9b5623fb9091c8b524128a4bc2fdcc84 Mon Sep 17 00:00:00 2001 From: ansabazys Date: Sun, 8 Mar 2026 13:50:34 +0530 Subject: [PATCH] test: ci/cd --- .github/workflows/deploy.yml | 26 ++++++++++++++++++++----- services/checkout-service/src/server.ts | 1 + 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index d644147..aba6261 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -58,7 +58,7 @@ jobs: rm -rf /var/www/frontend - # keep .env safe + # remove only build folders (keeps .env files safe) rm -rf /var/www/backend/gateway/dist rm -rf /var/www/backend/services @@ -78,7 +78,12 @@ jobs: run: | rsync -avz \ -e "ssh -i ~/.ssh/ec2.pem" \ - gateway/ \ + gateway/dist/ \ + ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:/var/www/backend/gateway/dist/ + + rsync -avz \ + -e "ssh -i ~/.ssh/ec2.pem" \ + gateway/package.json \ ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:/var/www/backend/gateway/ @@ -86,26 +91,32 @@ jobs: - name: Deploy Services run: | - rsync -avz \ + rsync -avz --delete \ -e "ssh -i ~/.ssh/ec2.pem" \ services/ \ ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:/var/www/backend/services/ - # ---------------- DEPLOY FRONTEND ---------------- + # ---------------- DEPLOY NEXTJS ---------------- - - name: Deploy Frontend + - name: Deploy Next standalone run: | rsync -avz \ -e "ssh -i ~/.ssh/ec2.pem" \ frontend/web/.next/standalone/ \ ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:/var/www/frontend/ + + - name: Deploy Next static + run: | rsync -avz \ -e "ssh -i ~/.ssh/ec2.pem" \ frontend/web/.next/static/ \ ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:/var/www/frontend/.next/static/ + + - name: Deploy public assets + run: | rsync -avz \ -e "ssh -i ~/.ssh/ec2.pem" \ frontend/web/public/ \ @@ -135,6 +146,7 @@ jobs: echo "Restarting gateway..." cd /var/www/backend/gateway + pnpm install --prod pm2 reload gateway || pm2 start dist/server.js --name gateway @@ -144,6 +156,8 @@ jobs: cd "$dir" name=$(basename "$dir") + pnpm install --prod + if [ -f "dist/server.js" ]; then pm2 reload "$name" || pm2 start dist/server.js --name "$name" fi @@ -153,8 +167,10 @@ jobs: echo "Restarting frontend..." cd /var/www/frontend + pnpm install --prod pm2 reload frontend || PORT=3000 pm2 start server.js --name frontend + pm2 save EOF \ No newline at end of file diff --git a/services/checkout-service/src/server.ts b/services/checkout-service/src/server.ts index f199ef0..619e3b4 100644 --- a/services/checkout-service/src/server.ts +++ b/services/checkout-service/src/server.ts @@ -5,6 +5,7 @@ import { env } from './config/env.js'; checkoutDBEvents(); connectDB(); +//server app.listen(env.port, () => { console.log(`checkout service running on ${env.port}`); });