自动部署版本包shell脚本

        每次部署版本的时候就感觉浪费时间也没有工作效率,每次都是人工手动部署,而且还可能存在认为失误导致部署失败的风险,且每个人的部署习惯都不一致,有的人没有备份版本包的习惯,如果部署的新版本有问题又没有之前版本的备份,在线下测试环境可能会浪费大家的时间,如果是在线上出现这种情况,那就是事故,会招来客户投诉,所以为了提高工作效率,形成规范,特意抽了点时间写了一个自动部署版本包的脚本。
       自动部署shell脚本由4个方法组成: deploy_backup(版本备份)、deploy_unzip(自动解压新版本)、deploy_restart(重启tomcat)、deploy_Rollback(版本回滚),当然,每个方法可以独立执行,此处在开始运行脚本时给出了2个选择,0:版本回滚,其他任意输入会自动部署新的版本包并重启tomcat。shell脚本代码如下:

#!/bin/bash
deploy installation script By clinva 2015.08.28


#版本部署路径
mainpath=/home/emalls1/qdone/pcv2



#备份版本包
deploy_backup()
{
cd ${mainpath}/tomcat8/webapps/;
tar -zcvf epc_`date +%y%m%d%H%M%S`.tar.gz epc;
sleep 3
ls;
mv *.tar.gz ${mainpath}/backup/;
}


#解压版本包
deploy_unzip()
{
cd ${mainpath};
ls;
sleep 3;
#unzip -l *.zip;
unzip -o -d ./tomcat8/webapps/epc pc.zip;
sleep 3;
}

#重启tomcat
deploy_restart()
{
cd ${mainpath}/tomcat8/bin;
pid1=`ps -ef|grep emalls1 |grep pcv2 |grep tomcat8 |grep qdone |awk '{print $2}'`
echo $pid1
if [ -z $pid1 ]; then
        echo "not exist"
        ./startup.sh;
	tailf ./../logs/catalina.out
        exit 1
else
        echo "restarting tomcat1"
        kill -9 $pid1
        sleep 5
        ./startup.sh;
        tailf ./../logs/catalina.out
fi
}


#版本回滚
deploy_Rollback()
{
#进入备份文件夹
	cd ${mainpath}/backup/
	#获取最新备份文件
	file_name_new=''
	for i in `ls -tr`;
	do
		echo $i;
		file_name_new=$i;
	done;
	#将备份文件复制到webapps
	cp  ${mainpath}/backup/${file_name_new} ${mainpath}/tomcat8/webapps
	if [ $? -eq 0 ]
	then
		echo 复制${file_name_new}成功
	else
		echo 复制失败,退出!
	exit 1
	fi
	#进入webapps/目录
	cd  ${mainpath}/tomcat8/webapps
	#解压文件
	echo 正在解压,请稍后...
	tar -zxvf ${file_name_new}
	#重启tomcat
	deploy_restart
}


echo --------欢迎使用shell自动部署脚本--------
echo -e "请输入对应的操作编号:\n0.版本包回滚;\n其他键.一件部署;"
#获取用户操作
read wm2
case $wm2 in
0)
	deploy_Rollback
	;;
*)
	deploy_backup
	deploy_unzip
	deploy_restart
	;;
esac

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值