项目组用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
时间: 2024-11-05 21:48:08