-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaws_deploy.sh
executable file
·147 lines (127 loc) · 3.99 KB
/
aws_deploy.sh
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#/bin/sh
MODULE=server
#########################################################################################################
#########################################################################################################
#########################################################################################################
small_box() {
local length=${#1}
local var=""
for (( i = 1; i <= 62-length; i++ ))
do
var=$var" "
done
echo ""
echo "+-----------------------------------------------------------------+"
echo "| $1$var|"
echo "+-----------------------------------------------------------------+"
}
big_box() {
local length=${#1}
local var=""
for (( i = 1; i <= 62-length; i++ ))
do
var=$var" "
done
echo ""
echo "###################################################################"
echo "# #"
echo "# $1$var#"
echo "# #"
echo "###################################################################"
}
check_error() {
result=`echo $?`
if [ $result -ne 0 ]; then
echo ""
echo ""
echo "??????????????????????????????????????????????????????????????"
echo "[ERROR] Error is detected."
############################
#read y_or_n
#if [ -n "$y_or_n" ] && [ $y_or_n != "y" ]; then
# exit 1
#fi
############################
#while read y_or_n
#do
# if [ "$y_or_n" = "n" ]; then
# echo
# echo
# echo "Installation is cancelled"
# echo
# echo
# exit 1
# elif [ "$y_or_n" = "y" ]; then
# break;
# fi
#done
echo
echo
exit 1
fi
}
print_help() {
echo ""
echo "Usage: ${0} target"
echo ""
echo " target: stage"
echo " prod"
echo ""
}
#########################################################################################################
#########################################################################################################
#########################################################################################################
TARGET=${1}
TAG="dev"
DOCKERFILE="Dockerfile"
if [ "${TARGET}" = "stage" ]; then
TAG="stage"
DOCKERFILE="Dockerfile"
elif [ "${TARGET}" = "prod" ]; then
TAG="latest"
DOCKERFILE="Dockerfile"
else
print_help
exit
fi
echo "target: ${TARGET}"
#########################################################################################################
#########################################################################################################
#########################################################################################################
############################
big_box "Start"
############################
docker build --platform=linux/amd64 --tag dtb/$MODULE:${TAG} .
check_error
small_box "docker build done"
############################
docker tag dtb/$MODULE:${TAG} 268788539198.dkr.ecr.ap-northeast-2.amazonaws.com/dtb/$MODULE:${TAG}
check_error
small_box "docker tag done"
############################
sudo aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 268788539198.dkr.ecr.ap-northeast-2.amazonaws.com
check_error
small_box "docker login done"
############################
echo ""
echo ""
echo ""
echo "Are you ready to push docker images for ${TARGET}? [y OR n]"
while read y_or_n
do
if [ "$y_or_n" = "n" ]; then
echo
echo
echo "It is cancelled"
echo
echo
exit 1
elif [ "$y_or_n" = "y" ]; then
break;
fi
done
sudo docker push 268788539198.dkr.ecr.ap-northeast-2.amazonaws.com/dtb/$MODULE:${TAG}
check_error
small_box "docker push done"
############################
big_box "Finish"