java web自动化部署_JavaWeb项目自动化部署脚本
腳本如下:
#!/bin/bash
echo?===============================
echo?????auto?deployment?script
echo?===============================
project_home=/home/shawock/projectA
tomcat_home=/home/shawock/tomcat
war_file_name=projectA-0.0.1-SNAPSHOT.war
#?update?to?specified?revision
echo?do?svn?update...
cd?$project_home
svn?update
#?package?project?into?war?file
echo?do?mvn?package...
mvn?clean?package?-Dmaven.test.skip=true
if?[?$??-eq?0?];then
#?kill?tomcat?process
for?i?in?`jps|grep?Bootstrap|awk?'{print?$1}'`
do
echo?kill?tomcat?process?--?$i?successfully!
kill?-9?$i
done
#?bakup?and?rename?old?war?file
cd?$tomcat_home/webapps
if?[?-f?ROOT.war?];then
echo?backup?the?old?war?file
currentTime=$(date?"+%Y%m%d%H%M%S")
mv?ROOT.war?$tomcat_home/backup/ROOT_${currentTime}.war
fi
#?upload?the?latest?war?to?webapps
echo?upload?the?latest?war?to?webapps...
rm?-rf?$tomcat_home/webapps/*
cp?$project_home/target/$war_file_name?$tomcat_home/webapps/ROOT.war
#?restart?tomcat
echo?restart?tomcat...
$tomcat_home/bin/startup.sh
tail?-f?$tomcat_home/logs/catalina.out
fi
思考:項目的打包依賴于服務器端配置svn和maven,這樣其實是非常不合理的。應該向服務器上傳已經打好的包?可以使用sftp等命令行。
【擴展】 在shell中判斷maven命令是否執行成功
1. 用退出碼判斷
#!/bin/bash
project_dir=/home/shawock/demo_project
cd?$project_dir
#?package?project?into?jar?file
echo?do?mvn?clean?package...
mvn?clean?package?-Dmaven.test.skip=true
if?[?$??-eq?0?];then
echo?mvn?packaging?successfully
else
echo?mvn?packaging?fail
fi
2. 從maven執行的結果中查找關鍵字
#!/bin/bash
project_dir=/home/shawock/demo_project
cd?$project_dir
#?package?project?into?jar?file
echo?do?mvn?clean?package...
mvn?clean?package?-Dmaven.test.skip=true|tee?mvnresult
output=`cat?mvnresult`
if?[[?$output?=~?"BUILD?SUCCESS"?]];then
echo?mvn?packaging?successfully
else
echo?mvn?packaging?fail
fi
rm?-rf?$project_dir/mvnresult
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的java web自动化部署_JavaWeb项目自动化部署脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串匹配算法Java_如何简单理解字符
- 下一篇: java web 购物车_java we