1. 程式人生 > >自動化部署java的war應用到tomcat指令碼

自動化部署java的war應用到tomcat指令碼

 文章地址: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,就能馬上看到日誌效果,何樂而不為呢?