88 build-and-deploy :
99 runs-on : ubuntu-latest
1010
11- # 1. Git checkout
11+
1212 steps :
13+ # 1. GitHub ๋ ํฌ์งํ ๋ฆฌ ์ฝ๋ ์ฒดํฌ์์
1314 - name : Checkout repository
1415 uses : actions/checkout@v2
1516
16- # 3. Set up JDK 17
17+ # 2. GitHub Secrets๋ก๋ถํฐ .env ํ์ผ ์์ฑ
18+ - name : Create .env files
19+ run : echo "${{ secrets.ENV_FILE_CONTENT }}" > .env
20+
21+ # 3. JDK 17 ์ค์น
1722 - name : Set up JDK 17
1823 uses : actions/setup-java@v2
1924 with :
2025 distribution : ' temurin'
2126 java-version : ' 17'
2227
23- - name : Create .env files
24- run : echo "${{ secrets.ENV_FILE_CONTENT }}" > backend/.env
25-
26- - name : Verify .env exists
28+ # 4. .env ํ์ผ ์กด์ฌ ์ฌ๋ถ ๋ฐ ๋ด์ฉ ์ถ๋ ฅ
29+ - name : Check .env file
2730 run : |
31+ echo "[๐ .env ํ์ผ ํ์ธ]"
2832 ls -al backend/.env
33+ echo ""
34+ echo "[๐ .env ํ์ผ ๋ด์ฉ]"
2935 cat backend/.env
36+ # 5. Gradle ๋น๋ ์คํ (ํ
์คํธ๋ ์ ์ธ)
37+ - name : ๐ ๏ธ Build Spring Boot App
38+ run : |
39+ cd backend
40+ ./gradlew clean build -x test
3041
31- - name : Build Spring Boot App
32- run : cd backend && ./gradlew clean build -x test
33-
34- - name : List build output
42+ # 6. ๋น๋๋ .jar ํ์ผ ๋ชฉ๋ก ์ถ๋ ฅ
43+ - name : List build artifacts
3544 run : ls -al backend/build/libs
3645
46+ # 7. EC2๋ก .jar์ .env ํ์ผ ์
๋ก๋ (ํด๋ ๊ตฌ์กฐ ์ ๊ฑฐ)
3747 - name : Upload Jar and .env to EC2
38483949 with :
40- host : ${{ secrets.EC2_HOST }}
41- username : ${{ secrets.EC2_USER }}
42- key : ${{ secrets.EC2_SSH_KEY }}
43- source : |
44- ./backend/build/libs/backend-0.0.1-SNAPSHOT.jar
45- ./backend/.env
46- target : ~/deploy/
50+ host : ${{ secrets.EC2_HOST }}
51+ username : ${{ secrets.EC2_USER }}
52+ key : ${{ secrets.EC2_SSH_KEY }}
53+ source : |
54+ backend/build/libs/backend-0.0.1-SNAPSHOT.jar
55+ .env
56+ target : ~/deploy/
57+ strip_components : 3 # ๋๋ ํ ๋ฆฌ ์ ๊ฑฐํ๊ณ ํ์ผ๋ง ~/deploy์ ์
๋ก๋
4758
4859 - name : Run Spring Boot App on EC2
4960@@ -52,10 +63,14 @@ jobs:
5263 username : ${{ secrets.EC2_USER }}
5364 key : ${{ secrets.EC2_SSH_KEY }}
5465 script : |
66+ echo "[MySQL, Redis ์ฌ์์]"
5567 sudo systemctl restart mysql
5668 sudo systemctl restart redis
69+
70+ echo "[๊ธฐ์กด Spring Boot ํ๋ก์ธ์ค ์ข
๋ฃ ์๋]"
5771 pkill -f 'java -jar' || true
5872 cd ~/deploy
59- nohup env $(cat .env | xargs) java -jar *.jar > app.log 2>&1 &
73+ nohup env $(cat .env | xargs) java -jar backend-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
74+ echo "[์คํ ์๋ฃ! ๋ก๊ทธ: tail -f ~/deploy/app.log]"
6075
6176
0 commit comments