Skip to content

Commit 5a42d4b

Browse files
committed
CD: test
1 parent 4f210ff commit 5a42d4b

1 file changed

Lines changed: 32 additions & 15 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Deploy Microservices (Artifact Mode)
1+
name: Deploy Microservices (Lean Artifact Mode)
22

33
on:
44
push:
@@ -21,38 +21,55 @@ jobs:
2121
node-version: 20
2222
cache: "pnpm"
2323

24-
# Install full workspace deps
2524
- name: Install dependencies
2625
run: pnpm install --frozen-lockfile
2726

28-
# Build everything
2927
- name: Build workspace
3028
run: pnpm -r run build
3129

32-
# SSH setup
3330
- name: Setup SSH
3431
run: |
3532
mkdir -p ~/.ssh
3633
echo "${{ secrets.EC2_SSH_KEY }}" > ~/.ssh/ec2.pem
3734
chmod 600 ~/.ssh/ec2.pem
3835
ssh-keyscan -H ${{ secrets.EC2_HOST }} >> ~/.ssh/known_hosts
3936
40-
# Deploy full production bundle
41-
- name: Deploy to EC2
37+
# ---------------- BACKEND DEPLOY ----------------
38+
- name: Deploy Backend
4239
run: |
4340
rsync -avz --delete \
4441
-e "ssh -i ~/.ssh/ec2.pem" \
45-
api-gateway \
46-
services \
47-
frontend/.next \
48-
frontend/public \
49-
package.json \
50-
pnpm-lock.yaml \
51-
pnpm-workspace.yaml \
42+
api-gateway/dist \
43+
services/patient-service/dist \
44+
services/staff-service/dist \
45+
api-gateway/package.json \
46+
services/patient-service/package.json \
47+
services/staff-service/package.json \
5248
node_modules \
49+
pnpm-lock.yaml \
5350
${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/
5451
55-
# Restart services
52+
# ---------------- FRONTEND DEPLOY ----------------
53+
- name: Deploy Frontend Standalone
54+
run: |
55+
ssh -i ~/.ssh/ec2.pem ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} \
56+
"mkdir -p ${{ secrets.APP_DIR }}/frontend"
57+
58+
rsync -avz --delete \
59+
-e "ssh -i ~/.ssh/ec2.pem" \
60+
frontend/.next/standalone/ \
61+
${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/frontend/
62+
63+
rsync -avz \
64+
-e "ssh -i ~/.ssh/ec2.pem" \
65+
frontend/.next/static/ \
66+
${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/frontend/.next/static/
67+
68+
rsync -avz \
69+
-e "ssh -i ~/.ssh/ec2.pem" \
70+
frontend/public/ \
71+
${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ secrets.APP_DIR }}/frontend/public/
72+
5673
- name: Restart Services
5774
run: |
5875
ssh -i ~/.ssh/ec2.pem ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'EOF'
@@ -63,7 +80,7 @@ jobs:
6380
pm2 reload staff-service || pm2 start services/staff-service/dist/server.js --name staff-service
6481
6582
cd frontend
66-
pm2 reload frontend || PORT=3000 pm2 start .next/standalone/frontend/server.js --name frontend
83+
pm2 reload frontend || PORT=3000 pm2 start server.js --name frontend
6784
6885
pm2 save
6986
EOF

0 commit comments

Comments
 (0)