Skip to content

Commit 9fb4342

Browse files
committed
fix: rewrite deploy.sh for Amazon Linux single-profile deployment
1 parent 25cb31b commit 9fb4342

1 file changed

Lines changed: 32 additions & 83 deletions

File tree

β€Žscripts/deploy.shβ€Ž

Lines changed: 32 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,45 @@
11
#!/bin/bash
2-
BUILD_PATH=$(ls /home/ubuntu/app/server-0.0.1-SNAPSHOT.jar)
3-
JAR_NAME=$(basename $BUILD_PATH)
4-
echo "> build 파일λͺ…: $JAR_NAME"
5-
6-
echo "> build 파일 볡사"
7-
DEPLOY_PATH=/home/ubuntu/app/nonstop/jar/
8-
cp $BUILD_PATH $DEPLOY_PATH
9-
10-
echo "> ν˜„μž¬ ꡬ동쀑인 Set 확인"
11-
CURRENT_PROFILE=$(curl -s http://localhost/profile)
12-
echo "> $CURRENT_PROFILE"
13-
14-
# 쉬고 μžˆλŠ” set μ°ΎκΈ°: set1이 μ‚¬μš©μ€‘μ΄λ©΄ set2κ°€ 쉬고 있고, λ°˜λŒ€λ©΄ set1이 쉬고 있음
15-
if [ $CURRENT_PROFILE == set1 ]
16-
then
17-
IDLE_PROFILE=set2
18-
IDLE_PORT=8082
19-
elif [ $CURRENT_PROFILE == set2 ]
20-
then
21-
IDLE_PROFILE=set1
22-
IDLE_PORT=8081
2+
set -e
3+
4+
APP_DIR=/home/ec2-user/app
5+
JAR_PATH=$(ls $APP_DIR/*.jar | head -1)
6+
echo "> JAR 파일: $JAR_PATH"
7+
8+
echo "> μ‹€ν–‰ 쀑인 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ’…λ£Œ"
9+
CURRENT_PID=$(pgrep -f '\.jar' || true)
10+
if [ -n "$CURRENT_PID" ]; then
11+
echo "> μ’…λ£Œ: $CURRENT_PID"
12+
kill -15 $CURRENT_PID
13+
sleep 5
2314
else
24-
echo "> μΌμΉ˜ν•˜λŠ” Profile이 μ—†μŠ΅λ‹ˆλ‹€. Profile: $CURRENT_PROFILE"
25-
echo "> set1을 ν• λ‹Ήν•©λ‹ˆλ‹€. IDLE_PROFILE: set1"
26-
IDLE_PROFILE=set1
27-
IDLE_PORT=8081
15+
echo "> μ‹€ν–‰ 쀑인 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ—†μŒ"
2816
fi
2917

30-
echo "> application.jar ꡐ체"
31-
IDLE_APPLICATION=$IDLE_PROFILE-Runnect-Spring-Boot-Server.jar
32-
IDLE_APPLICATION_PATH=$DEPLOY_PATH$IDLE_APPLICATION
33-
34-
ln -Tfs $DEPLOY_PATH$JAR_NAME $IDLE_APPLICATION_PATH
35-
36-
echo "> $IDLE_PROFILE μ—μ„œ ꡬ동쀑인 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ pid 확인"
37-
IDLE_PID=$(pgrep -f $IDLE_APPLICATION)
38-
39-
if [ -z $IDLE_PID ]
40-
then
41-
echo "> ν˜„μž¬ ꡬ동쀑인 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ—†μœΌλ―€λ‘œ μ’…λ£Œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
42-
else
43-
echo "> kill -15 $IDLE_PID"
44-
kill -15 $IDLE_PID
45-
sleep 20
46-
fi
18+
echo "> μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹œμž‘"
19+
nohup java -jar \
20+
-Duser.timezone=Asia/Seoul \
21+
$JAR_PATH \
22+
>> /home/ec2-user/app/nohup.out 2>&1 &
4723

48-
echo "> $IDLE_PROFILE 배포"
49-
nohup java -jar -Duser.timezone=Asia/Seoul -Dspring.profiles.active=$IDLE_PROFILE $IDLE_APPLICATION_PATH >> /home/ubuntu/app/nohup.out 2>&1 &
24+
echo "> 15초 ν›„ ν—¬μŠ€μ²΄ν¬ μ‹œμž‘"
25+
sleep 15
5026

51-
echo "> $IDLE_PROFILE 10초 ν›„ Health check μ‹œμž‘"
52-
echo "> curl -s http://localhost:$IDLE_PORT/health "
53-
sleep 10
54-
55-
for retry_count in {1..10}
56-
do
57-
response=$(curl -s http://localhost:$IDLE_PORT/actuator/health)
58-
up_count=$(echo $response | grep 'UP' | wc -l)
59-
60-
if [ $up_count -ge 1 ]
61-
then # $up_count >= 1 ("UP" λ¬Έμžμ—΄μ΄ μžˆλŠ”μ§€ 검증)
62-
echo "> Health check 성곡"
63-
break
64-
else
65-
echo "> Health check의 응닡을 μ•Œ 수 μ—†κ±°λ‚˜ ν˜Ήμ€ statusκ°€ UP이 μ•„λ‹™λ‹ˆλ‹€."
66-
echo "> Health check: ${response}"
27+
for i in {1..10}; do
28+
RESPONSE=$(curl -s http://localhost:8080/actuator/health || true)
29+
if echo "$RESPONSE" | grep -q '"status":"UP"'; then
30+
echo "> ν—¬μŠ€μ²΄ν¬ 성곡"
31+
break
6732
fi
68-
69-
if [ $retry_count -eq 10 ]
70-
then
71-
echo "> Health check μ‹€νŒ¨. "
72-
echo "> Nginx에 μ—°κ²°ν•˜μ§€ μ•Šκ³  배포λ₯Ό μ’…λ£Œν•©λ‹ˆλ‹€."
33+
echo "> ν—¬μŠ€μ²΄ν¬ μ‹€νŒ¨($i/10): $RESPONSE"
34+
if [ $i -eq 10 ]; then
35+
echo "> 배포 μ‹€νŒ¨"
7336
exit 1
7437
fi
75-
76-
echo "> Health check μ—°κ²° μ‹€νŒ¨. μž¬μ‹œλ„..."
7738
sleep 10
7839
done
7940

80-
echo "> Nginx μƒνƒœ 확인"
81-
if ! sudo systemctl is-active --quiet nginx; then
82-
echo "> Nginxκ°€ μ€‘μ§€λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μž¬μ‹œμž‘ν•©λ‹ˆλ‹€."
83-
sudo systemctl start nginx
84-
sleep 2
85-
if sudo systemctl is-active --quiet nginx; then
86-
echo "> Nginx μž¬μ‹œμž‘ 성곡"
87-
else
88-
echo "> Nginx μž¬μ‹œμž‘ μ‹€νŒ¨."
89-
fi
90-
else
91-
echo "> Nginx 정상 ꡬ동 쀑"
92-
fi
41+
echo "> Nginx μ‹œμž‘"
42+
sudo systemctl start nginx || true
43+
sudo systemctl enable nginx || true
9344

94-
echo "> μŠ€μœ„μΉ­"
95-
sleep 10
96-
/home/ubuntu/app/nonstop/switch.sh
45+
echo "> 배포 μ™„λ£Œ"

0 commit comments

Comments
Β (0)