編寫shell腳本,分爲兩個腳本,一個底層shell(startMt.sh),一個Web層腳本(startApi.sh)
一. 腳本
底層startMt.sh腳本如下:
#!/bin/bash
# 構建web
#read appname
appname="robinbootService"
echo "input="$appname
PID=$(ps -ef | grep $appname | grep -v grep | awk '{print $2}')
# 遍歷殺掉 pid
for var in ${PID[@]};
do
echo "loop pid= $var"
kill -9 $var
done
echo "kill $appname success"
cd /Users/sunww/Documents/JAVA/robinson/RobinBoot
mvn -Dmaven.test.skip=true clean package
echo "build robinbootService-0.0.1-SNAPSHOT.jar success"
cp /Users/sunww/Documents/JAVA/robinson/RobinBoot/RobinBootService/target/robinbootService-0.0.1-SNAPSHOT.jar /Users/sunww/Documents/JAVA/WebApp
echo "cp robinbootService/webapps ok!"
# sh /usr/local/tomcat/bin/startup.sh
java -jar /Users/sunww/Documents/JAVA/robinson/RobinBoot/RobinBootService/target/robinbootService-0.0.1-SNAPSHOT.jar
echo "robinbootService startup success"
echo "start $appname success"
Web層腳本startApi.sh 如下:
#!/bin/bash
# 構建MT
#read appname
appname="robinBootWeb"
echo "input="$appname
PID=$(ps -ef | grep $appname | grep -v grep | awk '{print $2}')
# 遍歷殺掉 pid
for var in ${PID[@]};
do
echo "loop pid= $var"
kill -9 $var
done
echo "kill $appname success"
cd /Users/sunww/Documents/JAVA/robinson/RobinBootWeb
mvn -Dmaven.test.skip=true clean package
echo "build robinBootWeb-0.0.1-SNAPSHOT.jar success"
cp /Users/sunww/Documents/JAVA/robinson/RobinBootWeb/target/robinBootWeb-0.0.1-SNAPSHOT.jar /Users/sunww/Documents/JAVA/WebApp
echo "cp robinBootWeb/webapps ok!"
# sh /usr/local/tomcat/bin/startup.sh
java -jar /Users/sunww/Documents/JAVA/robinson/RobinBootWeb/target/robinBootWeb-0.0.1-SNAPSHOT.jar
echo "robinBootWeb startup success"
echo "start $appname success"
二 啓動工程
先啓動底層,再啓動上層
執行 sh startMt.sh
執行 sh startApi.sh
用postMan訪問,測試通過 :