部署脚本如下:
#!/bin/bash
BUILD_ID=DONTKILLME
DATE=`date +%Y%m%d%H%M`
echo ${DATE} >> /home/ver.txt
mkdir /home/${DATE}
mkdir /home/${DATE}/app
cp -r /home/app/* /home/${DATE}/app/
rsync -av --exclude "WEB-INF/classes/dbconfig.properties" /root/.jenkins/workspace/app/build/* /home/app/
ln -fns /home/app /home/apache-tomcat-8.5.28-app/webapps/
/home/apache-tomcat-8.5.28-app/bin/shutdown.sh
/home/apache-tomcat-8.5.28-app/bin/startup.sh
回滚脚本如下:
#!/bin/bash
BUILD_ID=DONTKILLME
backupfile=/home/ver.txt
# 获取上一次备份的记录
bakdir=`tail -1 $backupfile`
echo "$bakdir"
ln -fns /home/$bakdir/app /home/apache-tomcat-8.5.28-app/webapps/
/home/apache-tomcat-8.5.28-app/bin/shutdown.sh
/home/apache-tomcat-8.5.28-app/bin/startup.sh
因为使用了软连接,所以需要打开tomcat的软连接配置,
在tomcat里context.xml文件里设置allowLinking="true"就可以打开软连接,根据tomcat版本不同有不同的设置:
  tomcat567版本: