Skip to content

Commit 3062ef8

Browse files
committed
feat(cd): add frontend cd twentiseven
1 parent 3c2bccb commit 3062ef8

3 files changed

Lines changed: 46 additions & 55 deletions

File tree

.github/workflows/deploy-stage.yml

Lines changed: 43 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,11 @@ on:
55
branches:
66
- stage
77

8-
9-
108
jobs:
119
deploy:
1210
runs-on: ubuntu-latest
1311

1412
steps:
15-
1613
- name: Checkout code
1714
uses: actions/checkout@v4
1815

@@ -24,98 +21,90 @@ jobs:
2421
- name: Setup pnpm
2522
uses: pnpm/action-setup@v4
2623

27-
28-
- name: Setup SSH
29-
run: |
30-
mkdir -p ~/.ssh
31-
echo "${{ secrets.EC2_SSH_KEY }}" > ~/.ssh/id_ed25519
32-
chmod 600 ~/.ssh/id_ed25519
33-
ssh-keyscan -H ${{ secrets.EC2_HOST }} >> ~/.ssh/known_hosts
34-
24+
# BUILD FRONTEND
3525
- name: Build Frontend
3626
env:
3727
NEXT_PUBLIC_API_BASE_URL: https://api.autospace.space
38-
BASE_URL_API: https://api.autospace.space
28+
BASE_URL_API: https://api.autospace.space
3929
run: |
40-
cd nextjs-autospace
30+
cd nextjs-autospace
4131
pnpm install
42-
pnpm build
32+
pnpm build
4333
44-
- name: Compress build
34+
# PACKAGE EVERYTHING NEEDED
35+
- name: Compress Frontend
4536
run: |
4637
cd nextjs-autospace
47-
tar -czf frontend.tar.gz .next public package.json
38+
tar -czf frontend.tar.gz .next public
4839
40+
# SSH SETUP
41+
- name: Setup SSH
42+
run: |
43+
mkdir -p ~/.ssh
44+
echo "${{ secrets.EC2_SSH_KEY }}" > ~/.ssh/id_ed25519
45+
chmod 600 ~/.ssh/id_ed25519
46+
ssh-keyscan -H ${{ secrets.EC2_HOST }} >> ~/.ssh/known_hosts
47+
48+
# UPLOAD BUILD
4949
- name: Upload to EC2
5050
run: |
51-
# ssh -i ~/.ssh/id_ed25519 ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} "mkdir -p ~/frontend"
5251
scp -i ~/.ssh/id_ed25519 nextjs-autospace/frontend.tar.gz ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:~/frontend/
5352
53+
# DEPLOY EVERYTHING
5454
- name: Deploy to EC2
5555
run: |
56-
5756
ssh -i ~/.ssh/id_ed25519 ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'EOF'
5857
set -e
5958
6059
export CI=true
6160
62-
echo "Deploying API Gateway..."
61+
echo " Backend Deploy..."
62+
6363
cd ~/autospace
6464
git fetch origin
6565
git reset --hard origin/stage
66-
6766
6867
cd nodejs-autospace/api-gateway
69-
CI=true pnpm install --prod --ignore-scripts
70-
NODE_ENV=stage pm2 restart api-gateway || NODE_ENV=stage pm2 start dist/index.js --name api-gateway
68+
pnpm install --prod --ignore-scripts
69+
pm2 restart api-gateway || pm2 start dist/index.js --name api-gateway
7170
72-
echo "Deploying Auth Service..."
73-
cd ~/auth-service/autospace
74-
git fetch origin
75-
git reset --hard origin/stage
76-
71+
cd ~/auth-service/autospace/nodejs-autospace/auth-service
72+
pnpm install --prod --ignore-scripts
73+
pm2 restart auth-service || pm2 start dist/server.js --name auth-service
7774
78-
cd nodejs-autospace/auth-service
79-
CI=true pnpm install --prod --ignore-scripts
80-
NODE_ENV=stage pm2 restart auth-service || NODE_ENV=stage pm2 start dist/server.js --name auth-service
75+
cd ~/resource-service/autospace/nodejs-autospace/resource-service
76+
pnpm install --prod --ignore-scripts
77+
pm2 restart resource-service || pm2 start dist/server.js --name resource-service
8178
82-
echo "Deploying Resource Service..."
83-
cd ~/resource-service/autospace
84-
git fetch origin
85-
git reset --hard origin/stage
86-
87-
88-
cd nodejs-autospace/resource-service
89-
CI=true pnpm install --prod --ignore-scripts
90-
NODE_ENV=stage pm2 restart resource-service || NODE_ENV=stage pm2 start dist/server.js --name resource-service
91-
92-
echo "Deploying Booking Service..."
9379
cd ~/booking-service/nodejs-autospace/booking-service
80+
pnpm install --prod --ignore-scripts
81+
pm2 restart booking-service || pm2 start dist/server.js --name booking-service
9482
95-
git fetch origin
96-
git reset --hard origin/stage
97-
98-
CI=true pnpm install --prod --ignore-scripts
99-
NODE_ENV=stage pm2 restart booking-service || NODE_ENV=stage pm2 start dist/server.js --name booking-service
100-
101-
102-
echo "Cleaning frontend..."
103-
83+
echo " Clean frontend..."
10484
rm -rf ~/frontend/app
10585
mkdir -p ~/frontend/app
10686
107-
echo "Extracting frontend..."
108-
87+
echo " Extract frontend..."
10988
cd ~/frontend
11089
tar -xzf frontend.tar.gz -C app
11190
rm frontend.tar.gz
11291
113-
echo "Deploying Frontend..."
92+
echo " Fix standalone runtime (IMPORTANT)"
11493
11594
cd ~/frontend/app/.next/standalone/nextjs-autospace
11695
96+
mkdir -p .next
97+
98+
cp -r ~/frontend/app/.next/static .next/
99+
cp -r ~/frontend/app/.next/server .next/
100+
cp ~/frontend/app/.next/BUILD_ID .next/
101+
cp -r ~/frontend/app/public ./public
102+
103+
echo " Restart frontend"
117104
pm2 delete frontend || true
118105
PORT=3000 pm2 start server.js --name frontend
119106
120107
pm2 save
121-
EOF
108+
109+
echo " DEPLOY DONE"
110+
EOF

nextjs-autospace/public/vercel.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

nextjs-autospace/src/app/layout.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ const zalandoSansExpanded = Zalando_Sans_Expanded({
2525
export const metadata: Metadata = {
2626
title: "Autospace",
2727
description: "Generated by create next app",
28+
icons: {
29+
icon: "/autospace.jpg",
30+
},
2831
};
2932

3033
export default function RootLayout({

0 commit comments

Comments
 (0)