【场景描述】你是否遇到过这种情况,在正常运行的线上环境下要要重新发布一个项目,

【正常的操作如下】:

     1、先把tomcat关掉;

     2、删掉tomcat下的项目文件(按需备份),把war包放在tomcat对应正确路径下解压;

     3、重启tomcat,重启后发现部署失败代码有问题则执行4,否则结束。

     4、部署出错,赶紧关闭tomcat,把上一个版本/备份拷回来,再重启tomcat,结束。。。。

是不是觉得太low?这里tomcat关闭重启的时间太长了,并且有可能要来回拷贝解压两次~!不能忍,来巧妙使用tomcat+软连接,轻松解决两个问题,逼格高高的~

【解决思路】

     1、将war包解压到特定目录下解压,比如/var/webapps/项目名/时间戳;

     2、关闭tomcat;

     3、删除tomcat下的项目文件(无需备份,因为是软连接),用软连接的方式复制1解压的文件到tomcat目录下;

     4、重启tomcat,重启后发现部署失败代码有问题则执行5,否则结束。

     5、部署出错,关闭tomcat,删除软连接,重建软连接指向/var/webapps/项目名/上一个时间戳,重启tomcat,结束。

怎么样?tomcat关闭重启的时间基本看手速了,war包也只需拷贝解压一次。写成脚本来运行,风味更佳。