項目組用Myeclipse開發一個JavaWeb項目,每天都要發布新版本到測試服務器的Tomcat。每次都要先導出WAR包,然后上傳到服務器指定目錄,接着遠程登錄到服務器上停止Tomcat,刪除Tomcat的日志文件、臨時文件,webapps下的老的WAR包,然后拷貝新的WAR包至webapps,接着再重啟Tomcat。每天都干這個事覺得很繁瑣,所以寫了一套批處理,每天發布時只要雙擊一個bat文件,就全自動搞定上述過程!
cd C:UsersfhWorkspaces"MyEclipse 9"Tradeweb del /s /q Trade.war jar -cvf Trade.war * ::del /s /q \192.168.0.180c$fhTrade.war ::xcopy C:UsersfhWorkspaces"MyEclipse 9"TradewebTrade.war \192.168.0.180c$fh Rem 本來是用共享目錄方式下載/刪除服務器指定目錄的WAR包,但發現此法有時候受網絡影響,不穩定;所以改成ftp方式 ftp -s:C:UsersfhDesktopserver180.ftp -A Rem 調用遠程服務,遠程部署並重啟Tomcat服務器 start cmd.exe ::啟動一個 CMD 終端 cscript //nologo C:UsersfhDesktoptelnet-192.168.0.180.vbs ::調用腳本文件 echo 60秒以后,嘗試訪問可能已經啟動完畢后的系統 for /l %%a in (60,-1,0) do ping -n 2 127.1>nul&cls&echo %%a explorer.exe http://192.168.0.180/Trade/login.jsp
open 192.168.0.180 binary cd / delete Trade.war put C:UsersfhWorkspaces"MyEclipse 9"TradewebTrade.war bye
set sh=WScript.CreateObject("WScript.Shell")
WScript.Sleep 1000
sh.SendKeys"telnet.exe 192.168.0.180{ENTER}"'執行的命令,字符 “~”代表回車
WScript.Sleep 1000 '延遲 1000
sh.SendKeys"y{ENTER}"
WScript.Sleep 1000
sh.SendKeys"administrator{ENTER}"
WScript.Sleep 1000
sh.SendKeys"db2admin{ENTER}"
WScript.Sleep 1000
sh.SendKeys"cd{ENTER}"
sh.SendKeys"cd fh{ENTER}"
sh.SendKeys"deploy.bat{ENTER}"
WScript.Sleep 1000
@echo off Rem --------現在開始執行服務器端的deploy.bat文件,重新部署服務器------------- Rem 停止Tomcat服務器 net stop Tomcat6 echo 等待10秒,讓服務器完全停止下來 for /l %%a in (10,-1,0) do ping -n 2 127.1>nul&cls&echo %%a Rem 刪除Tomcat目錄中的webapps/Trade.war、Trade文件夾, logs/*.log 、 logs/trade 、work/Catalina文件夾 del /s /q C:"Tomcat 6.0"webappsTrade.war rd /s /q C:"Tomcat 6.0"webappsTrade del /s /q C:"Tomcat 6.0"logs*.log del /s /q C:"Tomcat 6.0"logstrade rd /s /q C:"Tomcat 6.0"workCatalina Rem 拷貝c:fhTrade.war至Tomcat服務器目錄 xcopy C:fhTrade.war C:"Tomcat 6.0"webapps Rem 啟動Tomcat服務器 net start Tomcat6
