自动化打包,自动化发布,自动化备份

通常一个项目发布的过程是:
1.将应用服务打包
2.拷贝到对应的tomcat下
3.重启tomcat
4.备份

如何做到自动化来节省发布的时间?
写了一个windows的脚本,
1.自动化打包:


 @echo off
echo "Automatic compression"
goto start
介绍:自动化压缩项目文件;
使用方法:
配置xxxEnable,表示该xxx应用要打包。
配置xxxFromPath(xxx应用class目录)

:start

::=======================我是分割线====================
::配置

::下面adminEnable、mainWebEnable...
::意思是配置admin,main-web...是否打包,1为打包,0为不打包
set adminEnable=1
set mainWebEnable=1
set serviceEnable=1
set mobileEnable=1

set logFolder=logs

::7zip安装目录
set zipToolPath=C:\Program Files\7-Zip\7z.exe

::要打包的根目录
set zipSource=D:\qbzh_package\qbzhPackage\
::打的包放在的地方
set zipResult=D:\qbzh_package\qbzhPackage\qbzhPackage.zip

::admin的class目录
set adminFromPath=D:\workspace_sunhu\tielugonganqingbaozhihui\.metadata\.plugins\org.eclipse.wst.server.core\tmp6\wtpwebapps\qbzh-admin\*.*
::admin 复制后的目录
set adminToPath=D:\qbzh_package\qbzhPackage\qbzh-admin\

::mainWeb的class目录
set mainWebFromPath=D:\workspace_sunhu\tielugonganqingbaozhihui\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\qbzh-main-web\*.*
::mainWeb复制后的目录
set mainWebToPath=D:\qbzh_package\qbzhPackage\main-web\

::service的class目录
set serviceFromPath=D:\workspace_sunhu\tielugonganqingbaozhihui\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\wtpwebapps\qbzh-service\*.*
::service复制后的目录
set serviceToPath=D:\qbzh_package\qbzhPackage\qbzh\

::mobile的class目录
set mobileFromPath=D:\workspace_sunhu\tielugonganqingbaozhihui\.metadata\.plugins\org.eclipse.wst.server.core\tmp4\wtpwebapps\qbzh-mobile-api\*.*
::mobile复制后的目录
set mobileToPath=D:\qbzh_package\qbzhPackage\mobile\

::配置结束
::=======================我是分割线====================
pause
rd /s /q "%zipSource%"

if %adminEnable% == 1 (
    xcopy %adminFromPath% %adminToPath% /s /e /c /y /h /r
)
if %mainWebEnable% == 1 (
    xcopy %mainWebFromPath% %mainWebToPath% /s /e /c /y /h /r
)
if %serviceEnable% == 1 (
    xcopy %serviceFromPath% %serviceToPath% /s /e /c /y /h /r
)
if %mobileEnable% == 1 (
    xcopy %mobileFromPath% %mobileToPath% /s /e /c /y /h /r
)

"%zipToolPath%" a %zipResult% %zipSource%
echo "Automatic compression over"
pause

2.自动化发布备份


 @echo off
echo "Automatic install"
goto start

使用方法:
配置

等等等等

:start

::=======================我是分割线====================
::配置

::下面adminEnable、mainWebEnable...意思是这几个项目要重新打包运行
::配置admin,main-web...是否打包,1为打包,0为不打包
echo "请务必确认要更新的应用服务"
pause
set /p version=请输入版本号并按回车;

set adminEnable=1
set mainWebEnable=0
set serviceEnable=0
set mobileEnable=0

set logFolder=logs

::7zip安装目录
set zipToolPath=C:\Program Files\7-Zip\7z.exe

set upzipPath=\qbzhResult

::要打包的根目录
set zipSource=D:\qbzh_package\qbzhPackage\
::打的包放在的地方
set zipResult=D:\qbzh_package\qbzhPackage\qbzhPackage.zip

::admin的
set adminFromPath=D:\qbzh_package\qbzhPackage\qbzhResult\qbzhPackage\qbzh-admin\*.*
::admin 复制后的目录
set adminToPath=D:\api\qbzh-admin\webapps\qbzh-admin\
set adminTomatPath=D:\api\qbzh-admin

::mainWeb的class目录
set mainWebFromPath=D:\qbzh_package\qbzhPackage\qbzhResult\qbzhPackage\main-web\*.*
::mainWeb复制后的目录
set mainWebToPath=D:\api\qbzh-main-web\webapps\qbzh-main-web\
set mainWebTomcatPath=D:\api\qbzh-main-web

::service的class目录
set serviceFromPath=D:\qbzh_package\qbzhPackage\qbzhResult\qbzhPackage\qbzh\*.*
::service复制后的目录
set serviceToPath=D:\api\qbzh-service\webapps\qbzh\
set serviceTomcatPath=D:\api\qbzh-service

::mobile的class目录
set mobileFromPath=D:\qbzh_package\qbzhPackage\qbzhResult\qbzhPackage\mobile\*.*
::mobile复制后的目录
set mobileToPath=D:\api\qbzh-mobile-api\webapps\qbzh-mobile-api\
set mobileTomcatPath=D:\api\qbzh-mobile-api

::配置结束
::=======================我是分割线====================

rd /s /q "%zipSource%"%upzipPath%

::备份
echo "备份"
::pause
xcopy %zipResult% D:\package-back\%version%\ /s /e /c /y /h /r
ren D:\package-back\%version%\qbzhPackage.zip qbzhPackage%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.zip


echo "解压"
::pause
::解压
"%zipToolPath%" x "%zipResult%" -y -aos -o"%zipSource%"%upzipPath%

echo "copy"
::pause
if %adminEnable% == 1 (
    echo "admin"
    ::pause
    set CATALINA_HOME="%adminTomatPath%"
    call %adminTomatPath%\bin\shutdown.bat
    ping 127.0.0.1 -n 10
    rd /s /q  %adminToPath%
    echo "delete adminToPath"
    xcopy %adminFromPath% %adminToPath% /s /e /c /y /h /r
    call %adminTomatPath%\bin\startup.bat
    ping 127.0.0.1 -n 10
)
if %mainWebEnable% == 1 (
    set CATALINA_HOME="%mainWebTomcatPath%"
    echo "mainWeb"
    ::pause
    call %mainWebTomcatPath%\bin\shutdown.bat
    ping 127.0.0.1 -n 10
    rd /s /q  %mainWebToPath%
    xcopy %mainWebFromPath% %mainWebToPath% /s /e /c /y /h /r
    call %mainWebTomcatPath%\bin\startup.bat
    ping 127.0.0.1 -n 10
)
if %serviceEnable% == 1 (
    set CATALINA_HOME="%serviceTomcatPath%"
    echo "service"
    ::pause
    call %serviceTomcatPath%\bin\shutdown.bat
    ping 127.0.0.1 -n 10
    rd /s /q  %serviceToPath%
    xcopy %serviceFromPath% %serviceToPath% /s /e /c /y /h /r
    call %serviceTomcatPath%\bin\startup.bat
    ping 127.0.0.1 -n 10
)
if %mobileEnable% == 1 (
    set CATALINA_HOME="%mobileTomcatPath%"
    echo "mobile"
    ::pause
    call %mobileTomcatPath%\bin\shutdown.bat
    ping 127.0.0.1 -n 10
    rd /s /q  %mobileToPath%
    xcopy %mobileFromPath% %mobileToPath% /s /e /c /y /h /r
    call %mobileTomcatPath%\bin\startup.bat
    ping 127.0.0.1 -n 10
)
echo "部署完成!!!"
pause


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值