-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdev.sh
More file actions
50 lines (39 loc) ยท 2.19 KB
/
dev.sh
File metadata and controls
50 lines (39 loc) ยท 2.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
EXIST_A=$(docker-compose -p blink-a -f docker-compose.a.yml ps | grep blink-a)
if [ -z "${EXIST_A}" ] # -z๋ ๋ฌธ์์ด ๊ธธ์ด๊ฐ 0์ด๋ฉด true. A๊ฐ ์คํ ์ค์ด์ง ์๋ค๋ ์๋ฏธ.
then
# B๊ฐ ์คํ ์ค์ธ ๊ฒฝ์ฐ
START_CONTAINER=a
TERMINATE_CONTAINER=b
START_PORT=3000
TERMINATE_PORT=3001
else
# A๊ฐ ์คํ ์ค์ธ ๊ฒฝ์ฐ
START_CONTAINER=b
TERMINATE_CONTAINER=a
START_PORT=3001
TERMINATE_PORT=3000
fi
echo "###################### current container ${TERMINATE_CONTAINER} #########################"
# ์คํํด์ผํ๋ ์ปจํ
์ด๋ docker-compose๋ก ์คํ. -p๋ docker-compose ํ๋ก์ ํธ์ ์ด๋ฆ์ ๋ถ์ฌ
# -f๋ docker-composeํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์
echo "################ blink-${START_CONTAINER} up ####################"
docker-compose -p blink-${START_CONTAINER} -f docker-compose.${START_CONTAINER}.yml up -d --build || exit 1
sleep 5 # ์คํ๋์์ผ๋ฉด 5์ด ๋๊ธฐ
echo "############### change nginx server port #################"
# sed ๋ช
๋ น์ด๋ฅผ ์ด์ฉํด์ ์๊น ์ง์ ํด์คฌ๋ service-url.inc์ url๊ฐ์ ๋ณ๊ฒฝํด์ค๋๋ค.
# sed -i "s/๊ธฐ์กด๋ฌธ์์ด/๋ณ๊ฒฝํ ๋ฌธ์์ด" ํ์ผ๊ฒฝ๋ก ์
๋๋ค.
# ์ข
๋ฃ๋๋ ํฌํธ๋ฅผ ์๋ก ์์๋๋ ํฌํธ๋ก ๊ฐ์ ๋ณ๊ฒฝํด์ค๋๋ค.
# -i.bak ๋ ๋ฐฑ์
ํ์ผ์ ๋ง๋ค๊ฒ ๋ค๋ ์๋ฏธ์
๋๋ค.(๊ทธ๋์ผ ๋ณ๊ฒฝ๊ฐ์ด ์ ์ฅ๋จ)
sed -i.bak "s/${TERMINATE_PORT}/${START_PORT}/" /etc/nginx/conf.d/service-url.inc
echo "################## ${TERMINATE_PORT} down and ${START_PORT} up ##################"
echo "################ nginx reload.. #########################"
service nginx reload
# ์๋ก์ด ํฌํธ๋ก nextjs ์ฑ์ด ๊ตฌ๋ ๋๊ณ , nginx์ ํฌํธ๋ฅผ ๋ณ๊ฒฝํด์ฃผ์๋ค๋ฉด, nginx๋ฅผ ์ฌ์์ํด์ค๋๋ค.
# ๊ธฐ์กด์ ์คํ ์ค์ด์๋ docker-compose๋ ์ข
๋ฃ์์ผ์ค๋๋ค.
echo "##################### blink-${TERMINATE_CONTAINER} container down ##################"
docker-compose -p blink-${TERMINATE_CONTAINER} -f docker-compose.${TERMINATE_CONTAINER}.yml down
# ๋์ปค ์ธ๋์๋ Image์ ๊ฑฐ
docker rmi $(docker images -f "dangling=true" -q)
# ๋์ปค ์บ์ ์ ๊ฑฐ
echo y | docker system prune --volumes
echo "################ end of deployment #################"