Tomcat_自動部署WAR 至 Tomcat的ROOT 指令碼
阿新 • • 發佈:2019-01-03
我們在線上釋出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!!"
呼叫示例: