-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sh
executable file
·140 lines (103 loc) · 2.67 KB
/
build.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
#!/bin/bash
set -ef
R=`tput setaf 1`
G=`tput setaf 2`
Y=`tput setaf 3`
W=`tput sgr0`
echo "example: build.sh test /path/to/ec2/key.pem"
./clean.sh
#######################################################################################
declare -A mR
# ---------------------------------- #
if [[ $1 == 'test' ]]; then
file="./src/share/ip.ts"
# CHANGE DOMAIN from local(.test) to test(.link)
read -r R1 <<'EOF'
data-dictionary.test
EOF
read -r mR['$R1'] <<'EOF'
data-dictionary.link
EOF
for key in "${!mR[@]}"; do
value=${mR[$key]}
sed -i "s#$key#$value#g" "$file"
unset mR["$key"]
done
fi
# ---------------------------------- #
if [[ $1 == 'prod' || $1 == 'product' ]]; then
file="./src/share/ip.ts"
# CHANGE DOMAIN from local(.test) to prod(.net)
read -r R1 <<'EOF'
data-dictionary.test
EOF
read -r mR['$R1'] <<'EOF'
data-dictionary.net
EOF
# CHANGE http to https
read -r R2 <<'EOF'
http://
EOF
read -r mR['$R2'] <<'EOF'
https://
EOF
for key in "${!mR[@]}"; do
value=${mR[$key]}
sed -i "s#$key#$value#g" "$file"
unset mR["$key"]
done
fi
#######################################################################################
rm -rf ./dist
npm run build
#######################################################################################
if [ -f "$2" ]; then
if [[ $1 == 'test' ]]; then IP='3.24.210.59'; fi
if [[ $1 == 'prod' || $1 == 'product' ]]; then IP='54.66.224.148'; fi
TM=`date +%F@%T@%Z`
TM="${TM//:/-}" # change ':' to '-'
CD=`pwd`
PKG_NAME='dist'
echo "scp -i $2 -r $CD/$PKG_NAME ubuntu@$IP:dd/$PKG_NAME-$TM"
scp -i $2 -r $CD/$PKG_NAME ubuntu@$IP:dd/ndd-cms-$PKG_NAME-$TM
else
echo "${Y}valid key file is not provided, cannot send package to EC2${W}"
fi
#######################################################################################
if [[ $1 == 'test' ]]; then
file="./src/share/ip.ts"
# CHANGE DOMAIN from test(.link) back to local(.test)
read -r R1 <<'EOF'
data-dictionary.link
EOF
read -r mR['$R1'] <<'EOF'
data-dictionary.test
EOF
for key in "${!mR[@]}"; do
value=${mR[$key]}
sed -i "s#$key#$value#g" "$file"
unset mR["$key"]
done
fi
if [[ $1 == 'prod' || $1 == 'product' ]]; then
file="./src/share/ip.ts"
# CHANGE DOMAIN from prod(.net) back to local(.test)
read -r R1 <<'EOF'
data-dictionary.net
EOF
read -r mR['$R1'] <<'EOF'
data-dictionary.test
EOF
# CHANGE https back to http
read -r R2 <<'EOF'
https://
EOF
read -r mR['$R2'] <<'EOF'
http://
EOF
for key in "${!mR[@]}"; do
value=${mR[$key]}
sed -i "s#$key#$value#g" "$file"
unset mR["$key"]
done
fi