Tomcat_自动部署WAR 至 Tomcat的ROOT 脚本

我们在线上发布WAR包,通常把WAR包,放到 Tomcat 中的webapps中。这个时候,Tomcat 就会自动将WAR 包 解压到 webapps 目录下。产生一个解压后的文件夹。

问题: 

1   .war 解压后并不会删除,会留下残留文件

2  为了不加包前缀,我们一般要把解压后的文件夹的内容放到ROOT 目录中。


为此,我写了如下脚本。将war 扔到 webapps 目录下后,就什么都不用管了。解决了问题1.2

auto_deploy_war.sh

#!/bin/bash

if [ x$1 != x ]
then
    #...有参数
    echo 'filename : '$1
else
    #...没有参数
    echo 'Usage: ./auto_deploy_war.sh <war_file>' 
    exit
fi

filename=${1%.*}
extension=${1##*.}

if [ x$extension != x'war' ]
then
    echo 'NOT a war file'
    echo 'Usage: ./auto_deploy_war.sh xxx.war'
    exit 
fi

app_location=${TOMCAT_HOME}/webapps

cp ./$1 ${app_location}/
sleep 1m

echo "rm ROOT/"
rm -rf ${app_location}/ROOT/*
sleep 10s

echo "cp -R xxx/* to ROOT/"
cp -R ${app_location}/${filename}/* ${app_location}/ROOT/
sleep 1m

rm -rf ${app_location}/${filename}*

echo "deploy compelete!!"



调用示例:




猜你喜欢

转载自blog.csdn.net/u010003835/article/details/79196628