自動化部署java的war應用到tomcat指令碼
阿新 • • 發佈:2019-02-17
文章地址:http://blog.tongbor.com/article/detail/30
本文是寫在《如果推廣個人部落格》這篇博文之後的一篇屬於技術總結類的文章,寫這篇文章,一來是為自己的一些自動化部署做總結,二來是留下一些記錄,好讓自己經常翻翻。自動化部署,就是對每次都需要敲的命令,每次都要做的操作,固定化,死的命令列與操作,進行的一些shell指令碼的編寫,有助於自己不用每次都去敲這些繁瑣的命令。
自動化部署主要是幾個方面:
1、自動化部署到war
2、自動化重啟tomcat伺服器,並列印日誌
3、能自動化重啟,自動化開啟日誌
主要的shell命令有這些:
1、自動化部署到war
/data/shfile/blogWeb.sh 這個是自動部署的shell指令碼
原理:通過定義好一些變數,然後逐步的執行設定好的命令,也就是模擬自己在部署war時的一些操作。
#!/bin/bash
nowDate=`date +%Y-%m-%d`
pathProj=/data/www/tongbor/blog/web
warPathProj=/data/www/codes
warSrvOrig="$warPathProj/blogWeb-develop.war"
warSrvNew="$pathProj/ROOT.war"
echo 'enter to stop tomcat...'
pid=`ps aux|grep "java"|grep "/data/opt/blog/tomcat8_web"|awk '{printf $2}'`
kill -9 $pid
echo 'stop tomcat finished...'
rm -rf $pathProj/ROOT
rm -rf $pathProj/ROOT.war
cp $warSrvOrig $warSrvNew
echo 'copy blogWeb ROOT.war finish...'
/data/opt/blog/tomcat8_web/bin/startup.sh
sleep 5
echo 'restart tomcat8 blogWeb...'
pid=`ps aux|grep "java"|grep "/data/opt/blog/tomcat8_web"|awk '{printf $2}'`
kill -9 $pid
sleep 5
/data/opt/blog/tomcat8_web/bin/startup.sh
ln -s /data/www/tongbor/file/blogfile/main/attached /data/www/tongbor/blog/web/ROOT/attached
echo 'show logs...'
tail -1000f /data/opt/blog/tomcat8_web/logs/catalina.$nowDate.out
2、在tomcat能啟動的使用者目錄裡面,找到環境檔案:
.bash_profile
這個檔案裡面,可以定義一些快捷鍵
restartBlogWeb() {
echo 'restart tomcat8 blogWeb...'
pid=`ps aux|grep "java"|grep "/data/opt/blog/tomcat8_web"|awk '{printf $2}'`
kill -9 $pid
sleep 1
/data/opt/blog/tomcat8_web/bin/startup.sh
echo 'show logs...'
tail -500f /data/opt/blog/tomcat8_web/logs/catalina.$nowDate.out
}
alias rbw='restartBlogWeb'
shutdownBlogWeb(){
echo 'shutdown tomcat8 blogWeb...'
pid=`ps aux|grep "java"|grep "/data/opt/blog/tomcat8_web"|awk '{printf $2}'`
kill -9 $pid
}
alias sbw='shutdownBlogWeb'
tblogWeb(){
tail -500f /data/opt/blog/tomcat8_web/logs/catalina.$nowDate.out
}
alias tbw='tblogWeb'
alias dbw='/data/shfile/blogWeb.sh'
上面就是設定好的快捷鍵
當我需要重新部署已經上傳到伺服器的war檔案時,只需要敲快捷鍵dbw,就能夠對新打包的war進行自動部署到tomcat裡面,並重啟tomcat和看到列印的日誌;
當我需要重新啟動應用時,只需要敲快捷鍵rbw,就能馬上重啟tomcat,並檢視列印的啟動日誌;
當我不需要以上2種情況的快捷鍵,但又想看到日誌時,普通情況下,是敲一長串的路徑,進行tail檢視,有了快捷鍵,我只需要敲快捷鍵tbw,就能馬上看到日誌效果,何樂而不為呢?