項目打包有不少種方式,無論是eclipse的export仍是mvn的package,最終目的就是把編譯後的項目丟到服務器的tomcat下。咱們要部署代碼到兩臺上游服務器和兩臺下游服務器,感受比較麻煩,最好的辦法是用jenkis來了自動化構建,不過如今也沒資源去安裝部署一臺jenkis了,因此就本身寫了一個shell,稍微減小一點工做量,起個名字叫reploy.shcss
#! /bin/sh p1path=/home/scc/upstream001/apache-tomcat-7.0.67 p2path=/home/scc/upstream002/apache-tomcat-7.0.67 p1webappspath=$p1path/webapps p2webappspath=$p2path/webapps p1binpath=$p1path/bin p2binpath=$p2path/bin temppath=$(pwd) echo "備份原項目:路徑"$p1webappspath"……" cd $p1path zip -r "webapps"-$(date +%Y%m%d'-'%H%M%S).zip webapps echo "備份原項目:路徑"$p2webappspath"……" cd $p2path zip -r "webapps"-$(date +%Y%m%d'-'%H%M%S).zip webapps cd ~ echo "進入部署……" while true; do echo "輸入當前目錄下要部署的文件名稱(如:sss.zip):" read filename if [[ $filename =~ ".zip" ]];then echo "文件格式驗證經過" if [ ! -f "$temppath/$filename" ];then echo "未找到$temppath/$filename,請查看是否上傳!肯定上傳後輸入[Y]或[N]退出程序:" read isupload if [[ $isupload = 'Y' ]];then continue; else echo "程序退出" exit 1; fi else echo "文件正確!開始解壓……" break; fi; else echo "格式不正確請從新輸入!" fi; done zip -d $temppath/$filename *log4j.prperties zip -d $temppath/$filename *.js zip -d $temppath/$filename *.css echo "解壓到"$p1webappspath unzip $temppath/$filename -d $p1webappspath -x #unzip $temppath/$filename -d $p1webappspath -x *log4j.prperties *redisconfig.properties echo "解壓到"$p2webappspath unzip $temppath/$filename -d $p2webappspath -x *log4j.prperties *.js *.css #unzip $temppath/$filename -d $p2webappspath -x *log4j.prperties *redisconfig.properties cd $p1webappspath unzip Desktop.zip cd $p2webappspath unzip Desktop.zip echo "解壓完畢~!開始重啓tomcat……" cd $p1binpath; temppath=$(pwd) if [[ $temppath = $p1binpath ]];then ./shutdown.sh ./startup.sh echo 'p1重啓完畢……' else echo $p1binpath"文件路徑不存在" fi cd $p2binpath; temppath=$(pwd) if [[ $temppath = $p2binpath ]];then ./shutdown.sh ./startup.sh echo 'p2重啓完畢……'; else echo $p2binpath"文件路徑不存在" fi echo 'tomcat所有重啓完畢~!';
這樣只須要打包一下本地tomcat的項目,而後上傳運行sh文件就能夠自動部署到對應目錄下了,不過發現shell結尾啓動tomcat的地方有點問題,之後再調吧。對了,還要吧本地配置的host也配置到tomcat服務器上去java
172.16.60.101 zookeeper.sustainable.com 172.16.60.102 redis.sustainable.com 172.16.60.103 mongo.sustainable.com 172.16.60.104 nginx.sustainable.com 172.16.60.105 tomcat-upstream.sustainable.com 172.16.60.106 tomcat-downstream.sustainable.com 172.16.60.107 gitlab.sustainable.com 172.16.60.108 activeMq.sustainable.com 172.16.60.100 mysql.sustainable.com 172.16.60.104 www.sustainable.com
同時啓動zookeeper、mongo、redis、mysql、nginx。mysql
首先部署下游代碼,將sustainable-service打包上傳到服務器,執行reploy.sh而後啓動tomcatnginx
而後部署上游代碼,將sustainable-interactive打包上傳到服務器,執行reploy.sh而後啓動tomcatgit
最後確保nginx已正確配置並啓動。
web
瀏覽器輸入http://www.sustainable.com/sustainable-interactive/UserController/toLogin.do redis
如今清空mysql和redis以及mongo的數據,咱們來註冊一條數據。用戶名admin,密碼adminsql
數據添加成功,如今登陸一下看看
shell
信息無誤,還可使用dubbo的一個admin系統來查看一些服務狀態等,這裏就不演示了。
apache