发表于: 2020-01-13 23:26:39
1 1339
今天完成的事:
1、编写服务器部署脚本。
前台代码部署脚本,更新服务器中svn代码,打包,停止原运行jar包,删除run文件夹中jar包,复制jar包到run中,运行。
#前台目录
home_service="/data/services/academy-daoxiangzhe-service"
#源码存放目录
svn_home="/data/svn/academy-daoxiangzhe"
#服务名
service_name="academy-dxz-home"
#jar包运行目录
run_home=${home_service}"/"${service_name}"/run"
#日志存放目录
log_home=${home_service}"/"${service_name}"/logs"
#java包名称
jar="home-0.0.1-SNAPSHOT.jar"
#更新svn的代码
echo "更新${service_name}代码"
cd ${svn_home}/${service_name}
svn up
echo "更新成功"
# 打包项目文件
echo "开始打包"
mvn clean package -Dmaven.test.skip=true
echo "打包成功"
# 停止原程序
echo "开始部署"
echo "停止原程序"
ps -ef | grep ${jar} | grep -v grep |awk '{print $2}' | xargs kill -9
echo "已停止"
# 删除run文件夹中的运行jar包
echo "开始删除原有jar包"
cd ${run_home}
#删除jar包
rm -rf ${jar}
echo "删除完毕"
# 复制jar包到run文件夹下
echo "复制${service_name}jar包到运行目录"
cd ${svn_home}/${service_name}/target
cp ${jar} ${run_home}
echo "复制成功"
# 执行jar包
echo "启动程序"
cd ${run_home}
nohup java -Xms128m -Xmx128m -jar ${jar} > ${log_home}/${service_name}-`date +'%Y-%m-%d'`.log 2>&1 &
echo "已启动"
后台代码部署脚本。
#后台目录
admin_service="/data/services/academy-daoxiangzhe-service"
#源码存放目录
svn_home="/data/svn/academy-daoxiangzhe"
#服务名
service_name="academy-dxz-admin"
#jar包运行目录
run_home=${admin_service}"/"${service_name}"/run"
#日志存放目录
log_home=${admin_service}"/"${service_name}"/logs"
#java包名称
jar="admin-0.0.1-SNAPSHOT.jar"
#更新svn的代码
echo "更新${service_name}代码"
cd ${svn_home}/${service_name}
svn up
echo "更新成功"
# 打包项目文件
echo "开始打包"
mvn clean package -Dmaven.test.skip=true
echo "打包成功"
# 停止原程序
echo "开始部署"
echo "停止原程序"
ps -ef | grep ${jar} | grep -v grep |awk '{print $2}' | xargs kill -9
echo "已停止"
# 删除run文件夹中的运行jar包
echo "开始删除原有jar包"
cd ${run_home}
#删除jar包
rm -rf ${jar}
echo "删除完毕"
# 复制jar包到run文件夹下
echo "复制${service_name}jar包到运行目录"
cd ${svn_home}/${service_name}/target
cp ${jar} ${run_home}
echo "复制成功"
# 执行jar包
echo "启动程序"
cd ${run_home}
nohup java -Xms128m -Xmx128m -jar ${jar} > ${log_home}/${service_name}-`date +'%Y-%m-%d'`.log 2>&1 &
echo "已启动"
根据输入命令,执行相应脚本的总脚本。
#!/bin/bash
# 功能选项的选择
while [ 1 ];
do
# 1.开启cat模式的编程
cat << EOF;
**************************************************************
* 1、运行dxz-home-service的jar包 *
* 2、运行dxz-admin-service的jar包 *
* 3、关闭dxz-home-service的jar包 *
* 4、关闭dxz-admin-service的jar包 *
* 5、更新前端代码 *
* q、退出 *
**************************************************************
# 退出cat模式的编程
EOF
# 2.获取用户输入的号码,并执行.sh文件
read -p '输入你想要的功能:' key;
case $key in
1 )
clear;
/data/deploy/academy-daoxiangzhe/dxz-home-service.sh
;;
2 )
clear;
/data/deploy/academy-daoxiangzhe/dxz-admin-service.sh
;;
3 )
clear;
echo "停止原程序"
ps -ef | grep home-0.0.1-SNAPSHOT.jar | grep -v grep |awk '{print $2}' | xargs kill -9
echo "已停止"
;;
4 )
clear;
echo "停止原程序"
ps -ef | grep admin-0.0.1-SNAPSHOT.jar | grep -v grep |awk '{print $2}' | xargs kill -9
echo "已停止"
;;
5 )
clear;
/data/deploy/academy-daoxiangzhe/up-web.sh
;;
q )
clear
echo '----感谢使用---程序退出----'
break
;;
* )
clear;
echo "输入错误请重新输入"
;;
esac
done
将脚本上传到服务器,并赋予最高权限。

这里是在本地Windows编辑的,需要使用“ :set ff ”命令查看脚本格式是否是unix格式,这里不需要修改,可以直接运行。
cd 进入脚本文件夹,运行总脚本,或者如下图二,直接运行总脚本。
根据输入的数字不同,执行不同的脚本功能。
2、搭建shiro框架。
未完成。
明天计划的事:
1、搭建shiro框架;
2、后台权限管理。
遇到的问题:
shiro框架的前后端分离,有待学习。
收获:
1、脚本编写。
2、shiro框架前后端分离大概了解。
评论