Skip to content

Commit 694873f

Browse files
committed
CD: test
1 parent 683844c commit 694873f

1 file changed

Lines changed: 23 additions & 20 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,34 +21,31 @@ jobs:
2121
node-version: 20
2222
cache: "pnpm"
2323

24+
# ---------------- INSTALL + BUILD ----------------
2425
- name: Install dependencies
2526
run: pnpm install --frozen-lockfile
2627

2728
- name: Build workspace
2829
run: pnpm -r run build
2930

31+
# ---------------- SSH SETUP ----------------
3032
- name: Setup SSH
3133
run: |
3234
mkdir -p ~/.ssh
3335
echo "${{ secrets.EC2_SSH_KEY }}" > ~/.ssh/ec2.pem
3436
chmod 600 ~/.ssh/ec2.pem
3537
ssh-keyscan -H ${{ secrets.EC2_HOST }} >> ~/.ssh/known_hosts
3638
37-
# ---------------- PREPARE EC2 STRUCTURE ----------------
38-
- name: Prepare EC2 Directories
39+
# ---------------- PREPARE BACKEND DIRS ----------------
40+
- name: Prepare Backend Directories
3941
run: |
4042
ssh -i ~/.ssh/ec2.pem ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << EOF
4143
mkdir -p ${{ secrets.APP_DIR }}/api-gateway/dist
4244
mkdir -p ${{ secrets.APP_DIR }}/services/patient-service/dist
4345
mkdir -p ${{ secrets.APP_DIR }}/services/staff-service/dist
44-
45-
mkdir -p ${{ secrets.APP_DIR }}/frontend
46-
mkdir -p ${{ secrets.APP_DIR }}/frontend/.next
47-
mkdir -p ${{ secrets.APP_DIR }}/frontend/.next/static
48-
mkdir -p ${{ secrets.APP_DIR }}/frontend/public
4946
EOF
5047
51-
# ---------------- BACKEND DEPLOY ----------------
48+
# ---------------- DEPLOY BACKEND ----------------
5249
- name: Deploy API Gateway
5350
run: |
5451
rsync -avz --delete \
@@ -70,26 +67,32 @@ jobs:
7067
services/staff-service/dist/ \
7168
${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/services/staff-service/dist/
7269
73-
# ---------------- FRONTEND DEPLOY ----------------
74-
- name: Deploy Frontend Standalone
70+
# ---------------- DEPLOY FRONTEND ----------------
71+
- name: Deploy Frontend (Standalone Clean)
7572
run: |
76-
# Standalone server bundle
77-
rsync -avz --delete \
73+
# Clean old frontend completely
74+
ssh -i ~/.ssh/ec2.pem ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << EOF
75+
rm -rf ${{ secrets.APP_DIR }}/frontend
76+
mkdir -p ${{ secrets.APP_DIR }}/frontend
77+
EOF
78+
79+
# 1️⃣ Copy standalone server bundle
80+
rsync -avz \
7881
-e "ssh -i ~/.ssh/ec2.pem" \
7982
frontend/.next/standalone/ \
8083
${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/frontend/
8184
82-
# Static assets
83-
rsync -avz --delete \
85+
# 2️⃣ Copy static assets
86+
rsync -avz \
8487
-e "ssh -i ~/.ssh/ec2.pem" \
85-
frontend/.next/static/ \
86-
${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/frontend/.next/static/
88+
frontend/.next/static \
89+
${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/frontend/.next/
8790
88-
# Public assets
89-
rsync -avz --delete \
91+
# 3️⃣ Copy public assets
92+
rsync -avz \
9093
-e "ssh -i ~/.ssh/ec2.pem" \
91-
frontend/public/ \
92-
${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/frontend/public/
94+
frontend/public \
95+
${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/frontend/
9396
9497
# ---------------- RESTART SERVICES ----------------
9598
- name: Restart Services

0 commit comments

Comments
 (0)