forked from zhoutaoo/SpringCloud
-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.sh
executable file
·223 lines (177 loc) · 5.88 KB
/
install.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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
#!/usr/bin/env bash
echo '==================1.开发环境准备================================'
echo '1.1请确保安装并java8, git, maven并设置好环境变量'
echo '1.2请确保安装并docker,docker-compose并设置好环境变量'
#确认环境信息准备就绪
read -r -p "开发环境准备好了吗? [Y/n] " envConfirm
case $envConfirm in
[yY][eE][sS]|[yY])
echo "Yes 继续执行"
;;
[nN][oO]|[nN])
echo "No 终止执行"
exit 1
;;
*)
echo "Invalid input... 终止执行"
exit 1
;;
esac
echo '==================1.3清理当前脚本启动的容器和产生的镜像(可选的)=============='
#清理当前脚本启动的容器和产生的镜像(可选的)
#docker stop sc-rabbitmq sc-redis sc-mysql
#docker rm sc-rabbitmq sc-redis sc-mysql
#docker image rm rabbitmq:alpine redis:alpine mysql:9.6-alpine
#docker stop sc-monitor-admin sc-authorization-server sc-authentication-server sc-organization sc-gateway-admin sc-gateway-web
#docker rm sc-monitor-admin sc-authorization-server sc-authentication-server sc-organization sc-gateway-admin sc-gateway-web
#docker image rm cike/admin cike/authorization-server:latest cike/authentication-server:latest cike/organization:latest cike/gateway-admin:latest cike/gateway-web:latest
echo '==================2.安装认证公共包到本地maven仓库=================='
#安装认证公共包到本地maven仓库
cd common && mvn install
echo '当前目录:' && pwd
#回到根目录
cd -
echo '==================3.安装认证客户端到本地maven仓库=================='
#安装认证客户端到本地maven仓库
cd auth/authentication-client && mvn install
echo '当前目录:' && pwd
#回到根目录
cd -
echo '==================4.docker-compose启动公共服务==================='
#去docker-compose目录
cd docker-compose
echo '==================4.1显示环境变量: docker-compose/.env =========='
#显示环境变量
cat ./.env
echo ''
#按需要开启公共服务
echo '==================4.2启动 mysql or redis or rabbitmq ========'
docker-compose -f docker-compose.yml up -d mysql
docker-compose -f docker-compose.yml up -d redis
docker-compose -f docker-compose.yml up -d rabbitmq
echo '当前目录:' && pwd
#回到根目录
cd -
echo '==================4.3.构建镜像: 配置中心, 消息中心========'
#构建镜像:消息中心
cd ./center/bus
mvn package && mvn docker:build
#回到根目录
cd -
echo '==================4.4.启动注册中心, 配置中心, 消息中心============'
#去docker-compose目录
cd docker-compose
#启动注册中心
docker-compose -f docker-compose.yml -f docker-compose.nacos.yml up -d nacos
#回到根目录
cd -
echo '==================5.构建镜像并启动网关(gateway)相关服务==============='
#构建镜像:网关服务
cd ./gateway/gateway-web
mvn package && mvn docker:build
#回到根目录
cd -
#构建镜像:网关管理服务
cd ./gateway/gateway-admin
mvn package && mvn docker:build
#确认初始化网关服务的DB:./gateway/gateway-admin/src/main/db
echo '你可以立即去部署网关服务的DB(脚本路径:./gateway/gateway-admin/src/main/db),然后回来继续...'
read -r -p "确认网关服务的DB部署好了吗? [Y/n] " gwDbConfirm
case $gwDbConfirm in
[yY][eE][sS]|[yY])
echo "Yes 继续执行"
;;
[nN][oO]|[nN])
echo "No 终止执行"
exit 1
;;
*)
echo "Invalid input... 终止执行"
exit 1
;;
esac
#回到根目录
cd -
#去docker-compose目录
cd docker-compose
#启动网关服务
docker-compose -f docker-compose.yml -f docker-compose.spring-gateway.yml up -d gateway-web
#启动网关管理服务
docker-compose -f docker-compose.yml -f docker-compose.spring-gateway.yml up -d gateway-admin
#回到根目录
cd -
echo '==================6.构建镜像并启动组织(organization)相关服务=================='
#构建镜像:组织服务
cd ./sysadmin/organization
mvn package && mvn docker:build
#确认初始化授权/认证服务的DB:./sysadmin/db
echo '你可以立即去部署组织服务的DB(脚本路径:./sysadmin/db),然后回来继续...'
read -r -p "确认部署组织服务的DB部署好了吗? [Y/n] " orgDbConfirm
case $orgDbConfirm in
[yY][eE][sS]|[yY])
echo "Yes 继续执行"
;;
[nN][oO]|[nN])
echo "No 终止执行"
exit 1
;;
*)
echo "Invalid input... 终止执行"
exit 1
;;
esac
#回到根目录
cd -
#去docker-compose目录
cd docker-compose
#启动组织服务
docker-compose -f docker-compose.yml -f docker-compose.auth.yml up -d organization
#回到根目录
cd -
echo '==================7.构建镜像并启动认证(auth)相关服务=================='
#构建镜像:认证服务
cd ./auth/authentication-server
mvn package && mvn docker:build
#回到根目录
cd -
#构建镜像:授权服务
cd ./auth/authorization-server
mvn package && mvn docker:build
#确认初始化授权/认证服务的DB:./auth/db
echo '你可以立即去部署授权/认证服务的DB(脚本路径:./auth/db),然后回来继续...'
read -r -p "确认部署授权/认证服务的DB部署好了吗? [Y/n] " authDbConfirm
case $authDbConfirm in
[yY][eE][sS]|[yY])
echo "Yes 继续执行"
;;
[nN][oO]|[nN])
echo "No 终止执行"
exit 1
;;
*)
echo "Invalid input... 终止执行"
exit 1
;;
esac
#回到根目录
cd -
#去docker-compose目录
cd docker-compose
#启动网关服务
docker-compose -f docker-compose.yml -f docker-compose.auth.yml up -d authorization-server
#启动网关管理服务
docker-compose -f docker-compose.yml -f docker-compose.auth.yml up -d authentication-server
#回到根目录
cd -
echo '==================8.构建镜像并启动监控(monitor)相关服务==============='
#构建镜像:管理台服务
cd ./monitor/admin
mvn package && mvn docker:build
#回到根目录
cd -
#去docker-compose目录
cd docker-compose
#启动网关服务
docker-compose -f docker-compose.yml -f docker-compose.monitor.yml up -d monitor-admin
#回到根目录
cd -