source /etc/profile;
java -version;
cd;
sh publish.sh eos-gsp-core-tm-server.zip eos-gsp-core-tm;
#!/bin/bash
#定义变量
packageName="$1"
projectName="$2"
backupPath=/home/appdeploy/bak
servicePath=/app/deploy/
#参数验证
if [ $# -lt 1 ]; then
echo "you must use like this : ./publish.sh <packageName> <projectName>"
exit
fi
echo "packageName is :${packageName}"
echo "projectName is :${projectName}"
if [ ! -d ${backupPath} ];then
echo "new dir"
mkdir -p ${backupPath}
fi
#删除10天之前的备份记录
find ${backupPath}/20* -type f -mtime +10 -print -exec rm -rf {} \;
#停止进程
ps -ef|grep -v grep|grep ${servicePath} | grep java |awk '{print "kill -9 "$2}'|sh
sleep 1
#备份目录
BAK_DIR=$backupPath/`date +%Y%m%d%H%M%S`
mkdir -p $BAK_DIR
cd ${servicePath}
#docker不支持zip命令
#zip -r ${packageName} conf lib && mv ${packageName} $BAK_DIR/
#这里用cp的话,下面会前置覆盖(强制覆盖,可能会存在不需要的依赖),最好mv
#cp -r conf lib $BAK_DIR/
mv -f conf lib $BAK_DIR/
#处理新包并替换文件
cd
cd ${projectName}
unzip -o ${packageName}
cp -rf lib ${servicePath}
cp -rf $backupPath/conf $servicePath
#删除解压文件
cd
cd ${projectName}
rm -rf *
#启动应用
cd
sh start_app.sh