1、概要
部署flowable工作流引擎,需要根据所在服务器的IP和MySQL账密信息,修改很多配置项,为方便,这些配置项,采用脚本批处理的方式,将用户在终端输入的信息,进行处理并修改配置项(以往的操作是,先将压缩包解压,再将war包解压,修改配置文件,再将文件打成war包,最后部署测试,及其容易出错)。节省了大量的时间。
脚本完整版地址:
https://flowable.oss-cn-beijing.aliyuncs.com/semi_auto_deploy_flowable_sample.sh
复制
flowable下载地址
https://github.com/flowable/flowable-engine/releases/tag/flowable-6.3.0
复制
2、脚本内容
脚本做了以下事情:
解压flowable.zip
创建flowable-admin等5个文件夹,并将flowable-admin.war等5个war包依次移动至相对应的文件夹
解压war包 && 进入指定目录,处理配置文件
接受用户输入的配置项各项信息
每一个配置文件输入结束时,会确认是否要继续,正确输入y,则生成application.properies配置文件
错误则输入n,输入指定的数字,进行纠正,直至用户输入y确认成配置文件
将处理好的文件,打包成war包
3、实现
如图,使用的时候,保证脚本和压缩包在同一目录下:
这段代码是获取文件路径
CURDIR=$(
cd $(dirname ${BASH_SOURCE[0]})
pwd
)
复制
这段代码是处理用户输入的内容
cd flowable-admin/WEB-INF/classes
rm -rf application.properties
touch application.properties
# 提示端口,如果不输入,会有默认值9988
echo -n "[1]please input the server.port = ? (default is 9988)"
read port
if [[ $port == "" ]]; then
port='9988'
fi
echo -n "your server.port is $port"
echo -n "[13]please input the MySQL server host ip = ? (default is 127.0.0.1)"
read MySQLHostIp
if [[ $MySQLHostIp == "" ]]; then
MySQLHostIp='127.0.0.1'
fi
echo -n "[14]please input the MySQL server host port = ? (default is 3306)"
read MySQLHostPort
if [[ $MySQLHostPort == "" ]]; then
MySQLHostPort='3306'
fi
复制
上文说过,如果错了,是可以根据序号修正输入信息的。如果flag不为y,则会一直询问正确输入,直至输入y为止。
read flag
while [[ $flag == "n" ]]; do
echo 'input number 1 to 26, the numbers are not continuous'
echo 'your number is'
read aNum
case $aNum in
1)
echo 'number is 1, please fix your [port] current!'
read line1
port=$line1
;;
13)
echo 'number is 13, please fix your [the MySQL server host ip] current!'
read line13
MySQLHostIp=$line13
;;
14)
echo 'number is 14, please fix your [the MySQL server host port] current!'
read line14
MySQLHostPort=$line14
;;
*)
echo 'Error'
;;
esac
echo -n "confirm,if wrong, please choice 'n' to fix it !, input y/n:"
read flag
done
复制
最后,使用
cat >application.properties <<EOF
复制
并配合类似:
spring.datasource.username=$datasourceUsername
spring.datasource.password=$datasourcePassword
复制
将读取终端input的变量值写入要生成的配置文件中。
4、最后
使用Bash Shell的好处,不需要再额外部署运行环境,也无需担心三方部署系统对生产机器带来不可预知的错误和问题。
可以尝试自己的工作或者学习中,有没有需要一个Bash Shell来解决的。
最后修改时间:2020-05-05 09:17:20
文章转载自数据库SQL,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
3131次阅读
2025-04-25 18:53:11
2025年4月国产数据库大事记:4个千万级中标项目诞生!2024年达梦净利3.6亿、金仓净利8006.6万……
墨天轮编辑部
2157次阅读
2025-04-30 17:39:54
外国CTO也感兴趣的开源数据库项目——openHalo
小满未满、
1854次阅读
2025-04-21 16:58:09
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1271次阅读
2025-04-27 16:53:22
2025 DBA 薪资观察:做 DBA 还香吗?
墨天轮编辑部
1109次阅读
2025-04-24 15:53:21
【专家有话说第六期】数据库考证到底有用么?国产时代DBA如何构建真实竞争力
墨天轮编辑部
965次阅读
2025-05-06 17:50:06
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
875次阅读
2025-04-25 15:30:58
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
764次阅读
2025-04-18 14:18:38
月薪快6万的DBA,有命干不一定有命花
多明戈教你玩狼人杀
748次阅读
2025-04-18 10:36:38
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
747次阅读
2025-04-30 15:24:06