#!/usr/bin/bash

#Tate:2022.4.19
#Author:Yingjian
#function: 一键部署zsdev_war包
#env

#当前工作目录
workdir=`cd $(dirname $0);pwd`
#当前执行脚本的日期时间
same_day=`date +%F`
#dev-uploadfile文件存放路径
nginx_file=/data/zsdev/UploadFiles
#tomcat-uploadfile文件存放路径
tomcat_file=/opt/zunshang2_dev/webapps/ZunShangERP2/UploadFiles
#备份dev_uplaodfile的父目录
hight_nginx_dir=/data/zsdev
#tomcat_webapps目录路径
tomcat_webdir=/opt/zunshang2_dev/webapps
#tomcat项目目录路径
tomcat_project=/opt/zunshang2_dev/webapps/ZunShangERP2
#添加目录tomcat_project普通用户rx权限
/usr/bin/sudo chmod 755 $tomcat_project

#判断是否存在目录备份目录
echo "-------------------------------" >> $workdir/zunshang_dev.log 
echo "`date` 正在一键发布" >> $workdir/zunshang_dev.log
echo "------------------------------" >> $workdir/zunshang_dev.log

if [ ! -d "$hight_nginx_dir/${same_day}" ];then
        echo "$hight_nginx_dir/${same_day}目录不存在 正在创建" >> $workdir/zunshang_dev.log
        /usr/bin/sudo mkdir $hight_nginx_dir/${same_day}
	/usr/bin/sudo chown www.www -R $hight_nginx_dir
else
        echo "$hight_nginx_dir/${same_day}目录已存在" >> $workdir/zunshang_dev.log
	/usr/bin/sudo rm -rf $hight_nginx_dir/${same_day}
	/usr/bin/sudo mkdir $hight_nginx_dir/${same_day}
	/usr/bin/sudo chown www.www -R $hight_nginx_dir
fi

#判断/data/zsdev/uploadfile与/opt/zunshang_dev/webapps/zunshang2.0/uploadfile文件大小是否一致

check_uploadfile () {
nginx_file_size=`du -s $nginx_file |awk '{print $1}'`
tomcat_file_size=`du -s $tomcat_file |awk '{print $1}'`
if [ $nginx_file_size -eq $tomcat_file_size ];then
	echo "nginx静态文件大小等于tomcat当前静态文件大小" >> $workdir/zunshang_dev.log
	return 100
else
	echo "nginx静态文件大小不等于tomcat当前静态文件大小" >> $workdir/zunshang_dev.log
	return 200
fi
}

check_uploadfile
return_check=$?
#echo $return_check

#停止正在运行的tomcat

/usr/bin/sudo /usr/bin/bash $workdir/zsdev_tom.sh stop >> $workdir/zunshang_dev.log

sleep 10

#删除tomcat-webapps目录下的war包 

/usr/bin/sudo rm -rf $tomcat_webdir/ZunShangERP2.war

#复制最新的提交在镜像仓库的war包到项目目录下  tomcat war包启动才会覆盖ZunShangERP2目录

/usr/bin/sudo cp -arf $workdir/ZunShangERP2.war $tomcat_webdir

if [ "$return_check" -eq "100" ];then
	echo "当前tomcat的静态文件与nginx静态文件一致 正在启动tomcat" >> $workdir/zunshang_dev.log
	#启动tomcat
	/usr/bin/sudo chown www.www -R $tomcat_webdir/..
	/usr/bin/sudo su - www -c "/usr/bin/bash $workdir/zsdev_tom.sh start" >> $workdir/zunshang_dev.log
	sleep 5
        /usr/bin/sudo chown www.www -R $tomcat_webdir/..
	#直接考虑nginx_file文件到当前 不需要备份
        /usr/bin/sudo cp -arf $nginx_file $tomcat_project
        /usr/bin/sudo cp -arf $workdir/apple-app-site-association $tomcat_project
	/usr/bin/sudo chown www.www -R $tomcat_webdir/..
	echo "`date` 发布完成" >> $workdir/zunshang_dev.log
else
	echo "当前tomcat的静态文件与nginx静态文件不一致 正在迁移tomcat_project目录的uploadfile " >> $workdir/zunshang_dev.log
	#备份nginx_file目录到$hight_nginx_dir/${same_day}下
	/usr/bin/sudo cp -arf $nginx_file $hight_nginx_dir/${same_day}
	#迁移tomcat_project下的uploadfile目录到 $hight_nginx_dir下
	/usr/bin/sudo cp -arf $tomcat_file $hight_nginx_dir
	#启动tomcat
	/usr/bin/sudo chown www.www -R $tomcat_webdir/..
	/usr/bin/sudo su - www -c "/usr/bin/bash $workdir/zsdev_tom.sh start" >> $workdir/zunshang_dev.log
	sleep 5
        /usr/bin/sudo chown www.www -R $tomcat_webdir/..
        /usr/bin/sudo cp -arf $nginx_file $tomcat_project
        /usr/bin/sudo cp -arf $workdir/apple-app-site-association $tomcat_project	
	/usr/bin/sudo chown www.www -R $tomcat_webdir/..
	echo "`date` 发布完成" >> $workdir/zunshang_dev.log
fi
