Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
P
Privatisation_Deploy
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
tianye
Privatisation_Deploy
Commits
d34bbf16
Commit
d34bbf16
authored
Jun 06, 2022
by
tianye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
一件docker-compose安装中间件
parent
cf2b7db6
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
24 additions
and
301 deletions
+24
-301
db_install.sh
db_install.sh
+24
-6
hcctl.bak_search-center
hcctl.bak_search-center
+0
-195
install.sh
install.sh
+0
-72
uninstall.sh
uninstall.sh
+0
-28
No files found.
db_install.sh
100644 → 100755
View file @
d34bbf16
...
...
@@ -7,22 +7,40 @@ function if_err(){
fi
}
echo
-e
"
\0
33[32m*欢迎安装Health-cloud-DB服
\0
33[0m "
sleep
3
echo
-e
"
\0
33[32m*中间件包括Mysql,MongoDB,Es,Redis,RabbitMQ
\0
33[0m"
sleep
3
source
./install.ini
#定义安装程序的db路径
DB_DEPLOY_FILE
=
$(
dirname
$0
)
/Health-cloud-server/db_server
echo
${
DB_DEPLOY_DIR
}
if
[
!
-d
${
DB_DEPLOY_DIR
}
]
;
then
mkdir
-p
${
DB_DEPLOY_DIR
}
;
fi
#定义部署目标路径(app,db)
db_sc_dir
=
${
DB_DEPLOY_DIR
}
#将docker-compose工程部署到本机
cp
-rf
${
DB_DEPLOY_FILE
}
${
db_sc_dir
}
cp
-rf
${
DB_DEPLOY_FILE
}
/
*
${
db_sc_dir
}
/
#创建数据目录
echo
-e
"正在创建数据目录"
echo
"
${
db_sc_dir
}
"
mkdir
-p
${
db_sc_dir
}
/data/
{
es_data,mq_data,mongo_data,redis_data,mysql_data
}
echo
"DB_DEPLOY_DIR=/ops_project/Health-cloud-server-DB"
>
${
db_sc_dir
}
/.env
cd
${
db_sc_dir
}
db_compose_file
=
${
db_sc_dir
}
/docker-compose-alldb.yaml
docker-compose
${
db_compose_file
}
up
-d
docker-compose
${
db_compose_file
}
status
if_err
\ No newline at end of file
source
.env
db_compose_file
=
$PWD
/docker-compose-alldb.yaml
docker-compose
-f
${
db_compose_file
}
up
-d
sleep
3
docker-compose
-f
${
db_compose_file
}
ps
if_err
echo
-e
"
\0
33[32m***Health-cloud-DB中间件已全部安装成功***
\0
33[0m"
echo
-e
"
\0
33[33m*********安装位置:
${
db_sc_dir
}
*****************
\0
33[0m"
echo
-e
"
\0
33[34m查看服务
\0
33[0m:docker-compose -f
${
db_compose_file
}
ps"
echo
-e
"
\0
33[34m卸载服务
\0
33[0m:docker-compose -f
${
db_compose_file
}
down"
hcctl.bak_search-center
deleted
100644 → 0
View file @
cf2b7db6
#!/bin/bash
action
=
$1
target
=
$2
source
~/.hcrc 2>/dev/null
||
echo
""
app_sc_dir
=
${
app_sc_dir
:-
/ops_project/Health-cloud-server/search-center
}
source
${
app_sc_dir
}
/install.ini
#DB-compose文件DB_DEPLOY_DIR
COMPOSE_FILE
=
$(
cat
${
app_sc_dir
}
/compose_files 2>/dev/null
||
echo
""
)
#修改es连接信息(默认-->外部)
edit_es_info
(){
echo
-e
" 使用外部MQ"
echo
-e
" 即将修改配置...."
sleep
2
sed
-i
-e
"s#host: es#host:
${
ES_HOST
}
#g"
\
-e
"s#username: elastic#username:
${
ES_USERNAME
}
#g"
\
-e
"s#password: changeme#password:
${
ES_PASSWORD
}
#g"
\
-e
"s#httpPort: 9200#httpPort:
${
ES_HTTP_PORT
}
#g"
\
-e
"s#tcpPort: 9300#tcpPort:
${
ES_TCP_PORT
}
#g"
\
-e
"s#clusterName: elasticsearch-cluster#clusterName:
${
ES_ClusterName
}
#g"
${
APP_CONF_DIR
}
/application.yml
}
#修改mq连接信息(默认-->外部)
edit_mq_info
(){
echo
-e
" 使用外部MQ"
echo
-e
" 即将修改配置...."
sleep
2
sed
-i
-e
"s#host: rabbitmq01#host:
${
MQ_HOST
}
#g"
\
-e
"s#username: admin#username:
${
MQ_USERNAME
}
#g"
\
-e
"s#password: admin#password:
${
MQ_PASSWORD
}
#g"
\
-e
"s#port: 5672#port:
${
MQ_PORT
}
#g"
\
-e
"s#virtual-host: /#virtual-host:
${
MQ_VHOST
}
#g"
${
APP_CONF_DIR
}
/application.yml
}
function
usage
()
{
echo
"Health-Cloud 控制脚本"
echo
echo
"Usage: "
echo
" ./hcctl.sh [COMMAND] [ARGS...]"
echo
" ./hcctl.sh --help"
echo
echo
"Commands: "
echo
" status 查看 Health-Cloud 服务运行状态"
echo
" start 启动 Health-Cloud 服务"
echo
" stop 停止 Health-Cloud 服务"
echo
" restart 重启 Health-Cloud 服务"
echo
" uninstall 卸载 Health-Cloud 服务"
}
#docker-compose的基础配置
install_compose-files
(){
select
INSTALL_MODE
in
"all"
"server"
"controller"
do
echo
"
${
DB_DEPLOY_DIR
}
,
${
APP_NAME
}
"
compose_files
=
"-f
${
DB_DEPLOY_DIR
}
/docker-compose-base.yaml"
case
${
INSTALL_MODE
}
in
all
)
echo
"即将进入all模式,这将安装search-center全部服务与组件"
sleep
2
compose_files
=
"
${
compose_files
}
-f
${
DB_DEPLOY_DIR
}
/docker-compose-es.yaml -f
${
DB_DEPLOY_DIR
}
/docker-compose-mq.yaml -f
${
app_sc_dir
}
/docker-compose-searchcenter.yaml"
break
;;
server
)
echo
"即将进入server模式,这将只安装search-center服务"
sleep
2
compose_files
=
"
${
compose_files
}
-f
${
app_sc_dir
}
/docker-compose-searchcenter.yaml"
break
;;
controller
)
echo
"即将进入crontroller模式,这将根据install.ini中您的所配置的(es,mq)是否使用外部来选择安装"
sleep
2
break
;;
exit
)
echo
"Good Bye!"
exit
0
;;
*
)
echo
"错误模式-请重新输入"
exit
127
esac
done
#是否使用外部组件
if
[
${
INSTALL_MODE
}
==
"all"
]
;
then
echo
-e
"正在创建数据目录"
mkdir
-p
${
db_sc_dir
}
/data/
{
es_data,mq_data
}
echo
-e
"正在创建日志目录"
mkdir
-p
${
app_sc_dir
}
/log
elif
[
${
INSTALL_MODE
}
==
"server"
]
;
then
echo
-e
"正在创建日志目录"
mkdir
-p
${
app_sc_dir
}
/log
edit_es_info
edit_mq_info
elif
[
${
INSTALL_MODE
}
==
"controller"
]
;
then
#判断es
if
[
${
ES_ISUSE_STATUS
}
==
'false'
]
;
then
echo
-e
"正在创建Elasticsearch数据目录"
mkdir
-p
${
db_sc_dir
}
/data/es_data
chown
-R
1000:0
${
db_sc_dir
}
/data/es_data
compose_files
=
"
${
compose_files
}
-f
${
DB_DEPLOY_DIR
}
/docker-compose-es.yaml -f
${
app_sc_dir
}
/docker-compose-searchcenter.yaml"
elif
[
${
ES_ISUSE_STATUS
}
==
'true'
]
;
then
edit_es_info
else
echo
"es_isuse_status配置错误"
exit
127
fi
#判断mq
if
[
${
MQ_ISUSE_STATUS
}
==
'false'
]
;
then
echo
-e
"正在创建MQ数据目录"
mkdir
-p
${
db_sc_dir
}
/data/es_data
compose_files
=
"
${
compose_files
}
-f
${
DB_DEPLOY_DIR
}
/docker-compose-mq.yaml -f
${
app_sc_dir
}
/docker-compose-searchcenter.yaml"
elif
[
${
MQ_ISUSE_STATUS
}
==
'true'
]
;
then
edit_mq_info
else
ehco
"mq_isuse_status配置错误"
exit
127
fi
echo
-e
"正在创建日志目录"
mkdir
-p
${
app_sc_dir
}
/log
fi
#将所需要部署的组件ymal输出到文件
echo
"
${
compose_files
}
"
>
${
app_sc_dir
}
/compose_files
COMPOSE_FILE
=
$(
cat
${
app_sc_dir
}
/compose_files
)
echo
"即将启动docker-compose部署"
sudo
docker-compose
${
COMPOSE_FILE
}
up
-d
}
function
status
(){
echo
cd
${
app_sc_dir
}
docker-compose
${
COMPOSE_FILE
}
ps
}
function
start
(){
echo
cd
${
app_sc_dir
}
docker-compose
${
COMPOSE_FILE
}
start
}
function
stop
(){
echo
cd
${
app_sc_dir
}
docker-compose
${
COMPOSE_FILE
}
stop
}
function
restart
(){
echo
cd
${
app_sc_dir
}
docker-compose
${
COMPOSE_FILE
}
stop
docker-compose
${
COMPOSE_FILE
}
start
}
function
uninstall
(){
echo
cd
${
app_sc_dir
}
docker-compose
${
COMPOSE_FILE
}
down
}
function
main
(){
case
"
${
action
}
"
in
status
)
status
;;
start
)
start
;;
stop
)
stop
;;
restart
)
restart
;;
uninstall
)
uninstall
;;
--help
)
usage
;;
-h
)
usage
;;
install_compose-files
)
# pwd
echo
"即将执行方法install-compose"
install_compose-files
;;
*
)
echo
cd
${
app_sc_dir
}
docker-compose
${
COMPOSE_FILES
}
$@
;;
esac
}
main
$@
install.sh
deleted
100755 → 0
View file @
cf2b7db6
#!/bin/bash
#set -e
#加载配置信息
function
if_err
(){
if
[
$?
-ne
0
]
;
then
exit
127
fi
}
source
./install.ini
#定义安装程序的app路径
DEPLOY_FILE
=
$(
dirname
$0
)
/Health-cloud-server/app_server
#定义安装程序的db路径
DB_DEPLOY_FILE
=
$(
dirname
$0
)
/Health-cloud-server/db_server
if
[
!
-d
${
DEPLOY_DIR
}
]
;
then
mkdir
-p
${
DEPLOY_DIR
}
;
fi
#定义部署目标路径(app,db)
app_sc_dir
=
${
DEPLOY_DIR
}
/
${
APP_NAME
}
db_sc_dir
=
${
DB_DEPLOY_DIR
}
#将docker-compose工程部署到本机
if
[[
!
-d
${
app_sc_dir
}
&&
!
-f
~/.hcrc
]]
;
then
cp
-rf
${
DEPLOY_FILE
}
/
${
APP_NAME
}
${
app_sc_dir
}
cp
-rf
${
DB_DEPLOY_FILE
}
${
db_sc_dir
}
if_err
else
echo
"目标目录已安装
${
APP_NAME
}
,请检查
${
app_sc_dir
}
.hcrc是否存在"
exit
127
fi
#将配置文件存入环境变量文件,使其全局生效(app和db目录各存一份)
cp
./install.ini
${
app_sc_dir
}
/install.ini.example
cp
./install.ini
${
db_sc_dir
}
/install.ini.example
env_context
=
$(
cat
${
app_sc_dir
}
/install.ini.example |grep
-v
"^#"
|grep
-v
"^$"
)
echo
"
${
env_context
}
"
>
${
app_sc_dir
}
/.env
echo
"
${
env_context
}
"
>
${
db_sc_dir
}
/.env
source
${
app_sc_dir
}
/.env
source
${
db_sc_dir
}
/.env
ln
-s
${
app_sc_dir
}
/.env
${
app_sc_dir
}
/install.ini 2>/dev/null
ln
-s
${
db_sc_dir
}
/.env
${
db_sc_dir
}
/install.ini 2>/dev/null
#安装hcrc版本文件
echo
-e
"app_sc_dir=
${
app_sc_dir
}
\n
db_sc_dir=
${
db_sc_dir
}
\n
${
APP_NANME
}
版本
${
SC_IMAGE_VERSION
}
"
>
~/.hcrc 2>/dev/null
||
echo
""
#安装hcctl管理命令
sudo cp
hcctl /usr/local/bin
&&
sudo chmod
+x /usr/local/bin/hcctl
ln
-s
/usr/local/bin/hcctl /usr/bin/hcctl 2>/dev/null
cd
${
app_sc_dir
}
#--------------------部署-----------------------#
echo
-e
"----------安装向导------------"
echo
-e
"- all模式-->全部安装(主服务
${
APP_NAME
}
+数据库+队列)"
echo
-e
"- server模式-->只安装主服务
${
APP_NAME
}
(请注意提前修改install.ini中外部db和mq的连接配置)"
echo
-e
"- controller模式-->安装主服务
${
APP_NAME
}
+数据库 or 队列"
echo
-e
"------------------------------"
PS3
=
'请选择安装模式: '
hcctl install_compose-files
if
[
$?
-ne
0
]
;
then
echo
"安装过程出现错误,请查看相关配置..."
exit
127
fi
echo
"
${
APP_NAME
}
服务已安装成功...."
sleep
2
echo
-e
"服务启动状态: "
sleep
2
sudo
/usr/local/bin/hcctl status
sleep
2
echo
"Good Bye ~"
uninstall.sh
deleted
100755 → 0
View file @
cf2b7db6
#!/bin/bash
source
./install.ini
if
[
-d
${
DEPLOY_DIR
}
]
;
then
echo
"Uninstalling APP Server Files..."
rm
-rf
${
DEPLOY_DIR
}
else
echo
"You are Not Install The APP Server"
exit
127
fi
if
[
-d
${
DB_DEPLOY_DIR
}
]
;
then
echo
"Uninstalling DB Server Files..."
rm
-rf
${
DB_DEPLOY_DIR
}
else
echo
"You are Not Install The DB Server"
exit
127
fi
if
[
-f
~/.hcrc
]
;
then
echo
"Deleting hcrc File..."
rm
-rf
~/.hcrc
else
echo
"You are Not Install The hcrc File"
exit
127
fi
echo
"Uninstalling APP contried"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment