1- name : Deploy Microservices (Lean Artifact Mode)
1+ name : Deploy Microservices
22
33on :
44 push :
3939 # ---------------- PREPARE BACKEND DIRS ----------------
4040 - name : Prepare Backend Directories
4141 run : |
42- ssh -i ~/.ssh/ec2.pem ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << ' EOF'
42+ ssh -i ~/.ssh/ec2.pem ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << EOF
4343 mkdir -p ${{ secrets.APP_DIR }}/api-gateway/dist
4444 mkdir -p ${{ secrets.APP_DIR }}/services/patient-service/dist
4545 mkdir -p ${{ secrets.APP_DIR }}/services/staff-service/dist
@@ -71,26 +71,20 @@ jobs:
7171 - name : Deploy Frontend (Next Standalone)
7272 run : |
7373
74- # Clean previous frontend
74+ # Clean and prepare frontend directories
7575 ssh -i ~/.ssh/ec2.pem ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << EOF
7676 rm -rf ${{ secrets.APP_DIR }}/frontend
7777 mkdir -p ${{ secrets.APP_DIR }}/frontend
78+ mkdir -p ${{ secrets.APP_DIR }}/frontend/.next/static
79+ mkdir -p ${{ secrets.APP_DIR }}/frontend/public
7880 EOF
7981
80- # Copy standalone bundle
82+ # Copy standalone server bundle
8183 rsync -avz \
8284 -e "ssh -i ~/.ssh/ec2.pem" \
8385 frontend/.next/standalone/ \
8486 ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/frontend/
8587
86- # Fix nested Next standalone structure
87- ssh -i ~/.ssh/ec2.pem ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << EOF
88- if [ -d "${{ secrets.APP_DIR }}/frontend/frontend" ]; then
89- mv ${{ secrets.APP_DIR }}/frontend/frontend/* ${{ secrets.APP_DIR }}/frontend/
90- rm -rf ${{ secrets.APP_DIR }}/frontend/frontend
91- fi
92- EOF
93-
9488 # Copy Next static assets
9589 rsync -avz \
9690 -e "ssh -i ~/.ssh/ec2.pem" \
@@ -103,6 +97,14 @@ jobs:
10397 frontend/public/ \
10498 ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/frontend/public/
10599
100+ # Fix nested standalone structure
101+ ssh -i ~/.ssh/ec2.pem ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << EOF
102+ if [ -d "${{ secrets.APP_DIR }}/frontend/frontend" ]; then
103+ rsync -a ${{ secrets.APP_DIR }}/frontend/frontend/ ${{ secrets.APP_DIR }}/frontend/
104+ rm -rf ${{ secrets.APP_DIR }}/frontend/frontend
105+ fi
106+ EOF
107+
106108 # ---------------- RESTART SERVICES ----------------
107109 - name : Restart Services
108110 run : |
@@ -121,4 +123,5 @@ jobs:
121123 pm2 reload frontend || PORT=3000 pm2 start server.js --name frontend
122124
123125 pm2 save
126+
124127 EOF
0 commit comments