55 branches : [deploy]
66
77jobs :
8- frontend :
9- name : Deploy Frontend to S3
10- runs-on : ubuntu-22.04
11-
12- steps :
13- - name : Checkout repository
14- uses : actions/checkout@v3
15-
16- - name : Set up Node.js
17- uses : actions/setup-node@v3
18- with :
19- node-version : ' 22'
20-
21- - name : Install dependencies
22- run : |
23- cd frontend
24- npm ci
25-
26- - name : Build frontend
27- run : |
28- cd frontend
29- npm run build
30-
31- - name : Deploy to S3
32- uses : jakejarvis/s3-sync-action@master
33- with :
34- args : --delete
35- env :
36- AWS_S3_BUCKET : www.pirocheck.org
37- AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
38- AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
39- SOURCE_DIR : frontend/dist
40-
418 backend :
429 name : Deploy Backend to EC2
43- needs : frontend
44- runs-on : ubuntu-latest
10+ runs-on : ubuntu-22.04
4511
4612 steps :
4713 - name : Checkout repository
@@ -53,10 +19,18 @@ jobs:
5319 distribution : ' temurin'
5420 java-version : ' 17'
5521
56- - name : Build backend
22+ - name : Create .env file& Build backend
5723 run : |
58- cd backend
59- ./gradlew build --no-daemon
24+ cd backend/pirocheck
25+ echo DB_HOST=${{ secrets.DB_HOST }} >> .env
26+ echo DB_PORT=${{ secrets.DB_PORT }} >> .env
27+ echo DB_NAME=${{ secrets.DB_NAME }} >> .env
28+ echo DB_USER=${{ secrets.DB_USER }} >> .env
29+ echo DB_PASSWORD=${{ secrets.DB_PASSWORD }} >> .env
30+
31+ chmod +x gradlew
32+ ./gradlew build -x test --no-daemon
33+
6034
6135 - name : Restore PEM file
6236 run : |
6539
6640 - name : Copy JAR to EC2
6741 run : |
68- scp -o StrictHostKeyChecking=no -i pirocheck.pem backend/build/libs/*.jar ubuntu@${{ secrets.EC2_HOST }}:/home/ubuntu/app.jar
42+ scp -o StrictHostKeyChecking=no -i pirocheck.pem backend/pirocheck/ build/libs/*.jar ubuntu@${{ secrets.EC2_HOST }}:/home/ubuntu/
6943
7044 - name : Restart Spring Boot on EC2
7145 run : |
9771 "color": 16711680
9872 }]
9973 }' ${{ secrets.DISCORD_WEBHOOK }}
74+
75+ frontend :
76+ name : Deploy Frontend to S3
77+ needs : backend
78+ runs-on : ubuntu-22.04
79+
80+ steps :
81+ - name : Checkout repository
82+ uses : actions/checkout@v3
83+
84+ - name : Set up Node.js
85+ uses : actions/setup-node@v3
86+ with :
87+ node-version : ' 22'
88+
89+ - name : Install dependencies
90+ run : |
91+ cd frontend
92+ rm -rf node_modules package-lock.json
93+ npm install
94+ npm install --save-dev vite rollup
95+
96+ - name : Build frontend
97+ run : |
98+ cd frontend
99+ npm run build
100+
101+ - name : Deploy to S3
102+ uses : jakejarvis/s3-sync-action@master
103+ with :
104+ args : --delete
105+ env :
106+ AWS_S3_BUCKET : www.pirocheck.org
107+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
108+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
109+ SOURCE_DIR : frontend/dist
0 commit comments