-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdeploy.sh
More file actions
108 lines (69 loc) ยท 2.23 KB
/
deploy.sh
File metadata and controls
108 lines (69 loc) ยท 2.23 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!/bin/bash
function create_docker_image_blue(){
echo "> blue docker image ๋ง๋ค๊ธฐ"
cd back-end/roughcode
./gradlew clean build
docker build -t app:0.1 .
cd ..
cd ..
}
function create_docker_image_green(){
echo "> green docker image ๋ง๋ค๊ธฐ"
cd back-end/roughcode
./gradlew clean build
docker build -t app:0.2 .
cd ..
cd ..
}
function execute_blue(){
docker ps -q --filter "name=app_blue" || grep -q . && docker stop app_blue && docker rm app_blue || true
sleep 10
docker-compose -p app-blue -f docker-compose.blue.yml up -d
sleep 10
echo "GREEN:8083 ์ข
๋ฃ"
docker-compose -p app-green -f docker-compose.green.yml down
#dangling=true : ๋ถํ์ํ ์ด๋ฏธ์ง ์ง์ฐ๊ธฐ
docker rmi -f $(docker images -f "dangling=true" -q) || true
}
function execute_green(){
docker ps -q --filter "name=app_green" || grep -q . && docker stop app_green && docker rm app_green || true
echo "GREEN:8083 ์คํ"
docker-compose -p app-green -f docker-compose.green.yml up -d
sleep 10
echo "BLUE:8082 ์ข
๋ฃ"
docker-compose -p app-blue -f docker-compose.blue.yml down
#dangling=true : ๋ถํ์ํ ์ด๋ฏธ์ง ์ง์ฐ๊ธฐ
docker rmi -f $(docker images -f "dangling=true" -q) || true
}
# ํ์ฌ ์ฌ์ฉ์ค์ธ ์ดํ๋ฆฌ์ผ์ด์
ํ์ธ
# 8083ํฌํธ์ ๊ฐ์ด ์์ผ๋ฉด 8082ํฌํธ ์ฌ์ฉ ์ค
# shellcheck disable=SC2046
RUNNING_GREEN=$(docker ps -aqf "name=app_green")
RUNNING_BLUE=$(docker ps -aqf "name=app_blue")
echo ${RUNNING_GREEN}
echo ${RUNNING_BLUE}
# Blue or Green
if [ -z ${RUNNING_GREEN} ]
then
# ์ด๊ธฐ ์คํ : BLUE๋ ์คํ์ค์ด์ง ์์ ๊ฒฝ์ฐ
if [ -z ${RUNNING_BLUE} ]
then
echo "๊ตฌ๋ ์ฑ ์์ => BLUE ์คํ"
create_docker_image_blue
sleep 10
docker-compose -p app-blue -f docker-compose.blue.yml up -d
else
# 8086ํฌํธ๋ก ์ดํ๋ฆฌ์ผ์ด์
๊ตฌ๋
echo "BLUE:8082 ์คํ ์ค"
create_docker_image_green
execute_green
fi
else
# 8085ํฌํธ๋ก ์ดํ๋ฆฌ์ผ์ด์
๊ตฌ๋
echo "GREEN:8083 ์คํ ์ค"
echo "BLUE:8082 ์คํ"
create_docker_image_blue
execute_blue
fi
# ์๋ก์ด ์ดํ๋ฆฌ์ผ์ด์
๊ตฌ๋ ํ ํ์ฌ ์ดํ๋ฆฌ์ผ์ด์
์ข
๋ฃ
#kill -15 ${RUNNING_PORT_PID}