@@ -2,11 +2,10 @@ name: Java CI with Gradle
2
2
3
3
on :
4
4
push :
5
- branches : [ "master" ]
6
-
5
+ branches : [ "develop", " master" ] # ✅ develop과 master 브랜치 모두 트리거
6
+
7
7
jobs :
8
8
build :
9
-
10
9
runs-on : ubuntu-latest
11
10
permissions :
12
11
contents : read
@@ -20,13 +19,28 @@ jobs:
20
19
distribution : ' temurin'
21
20
22
21
- uses : actions/checkout@v4
22
+
23
+ # ✅ 환경별 application.properties 파일 설정
23
24
- run : touch ./backend/src/main/resources/application.properties
24
- - run : echo "${{ secrets.PROPERTIES }}" > ./backend/src/main/resources/application.properties
25
+ - run : |
26
+ if [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
27
+ echo "${{ secrets.MAIN_PROPERTIES }}" > ./backend/src/main/resources/application.properties
28
+ else
29
+ echo "${{ secrets.DEV_PROPERTIES }}" > ./backend/src/main/resources/application.properties
30
+ fi
25
31
- run : cat ./backend/src/main/resources/application.properties
26
32
27
- - run : touch ./backend/src/main/resources/application-main.properties
28
- - run : echo "${{ secrets.MAIN_PROPERTIES }}" > ./backend/src/main/resources/application-main.properties
29
- - run : cat ./backend/src/main/resources/application-main.properties
33
+ # ✅ 환경별 application 환경 설정 (main or dev)
34
+ - run : |
35
+ if [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
36
+ touch ./backend/src/main/resources/application-main.properties
37
+ echo "${{ secrets.MAIN_PROPERTIES }}" > ./backend/src/main/resources/application-main.properties
38
+ cat ./backend/src/main/resources/application-main.properties
39
+ else
40
+ touch ./backend/src/main/resources/application-dev.properties
41
+ echo "${{ secrets.DEV_PROPERTIES }}" > ./backend/src/main/resources/application-dev.properties
42
+ cat ./backend/src/main/resources/application-dev.properties
43
+ fi
30
44
31
45
- name : Setup Gradle
32
46
uses : gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
38
52
run : cd backend/ && ./gradlew build
39
53
40
54
- name : Upload build artifact
41
- uses : actions/upload-artifact@v4 # ✅ v4로 변경
55
+ uses : actions/upload-artifact@v4
42
56
with :
43
57
name : backend
44
58
path : ./backend/build/libs/backend-0.0.1-SNAPSHOT.jar
@@ -49,15 +63,22 @@ jobs:
49
63
50
64
steps :
51
65
- name : Download build artifact
52
- uses : actions/download-artifact@v4 # ✅ v4로 변경
66
+ uses : actions/download-artifact@v4
53
67
with :
54
68
name : backend
55
69
path : ./backend/build/libs/
56
70
57
71
- name : Deploy to EC2
58
72
run : |
59
- echo "${{ secrets.MAIN_EC2_PEM }}" > sync_spot_dev.pem
60
- chmod 600 sync_spot_dev.pem
61
- scp -i sync_spot_dev.pem -o StrictHostKeyChecking=no ./backend/build/libs/backend-0.0.1-SNAPSHOT.jar ${{ secrets.EC2_USERNAME }}@${{ secrets.MAIN_EC2_HOST }}:/home/${{ secrets.EC2_USERNAME }}/backend-0.0.1-SNAPSHOT.jar
62
- ssh -i sync_spot_dev.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USERNAME }}@${{ secrets.MAIN_EC2_HOST }} "pgrep java | xargs kill -9; nohup java -jar /home/${{ secrets.EC2_USERNAME }}/backend-0.0.1-SNAPSHOT.jar &"
63
- rm -f sync_spot_dev.pem
73
+ if [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
74
+ echo "${{ secrets.MAIN_EC2_PEM }}" > sync_spot.pem
75
+ scp_host="${{ secrets.MAIN_EC2_HOST }}"
76
+ else
77
+ echo "${{ secrets.DEV_EC2_PEM }}" > sync_spot.pem
78
+ scp_host="${{ secrets.DEV_EC2_HOST }}"
79
+ fi
80
+
81
+ chmod 600 sync_spot.pem
82
+ scp -i sync_spot.pem -o StrictHostKeyChecking=no ./backend/build/libs/backend-0.0.1-SNAPSHOT.jar ${{ secrets.EC2_USERNAME }}@$scp_host:/home/${{ secrets.EC2_USERNAME }}/backend-0.0.1-SNAPSHOT.jar
83
+ ssh -i sync_spot.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USERNAME }}@$scp_host "pgrep java | xargs kill -9; nohup java -jar /home/${{ secrets.EC2_USERNAME }}/backend-0.0.1-SNAPSHOT.jar &"
84
+ rm -f sync_spot.pem
0 commit comments