前言
工作中一直在使用一个部署系统WinServer远程部署系统(RDSystem),部署、回滚都很方便。我们一直都是增量发布或者只更新需要更新的文件,每次发布完之后要整理出一个增量更新包,压缩成zip格式上传到部署系统再做分发。一般要点击20次鼠标才能把bin、area、scripts等目录下的文件复制到发布目录,这里写几个批处理文件提高效率。
发布所有文件
@echo off
cls
set spath=D:\WebSite\Zhaopin.Bms.Web
set tpath=D:\WebSite\发布_baoms.abc.com\zhaopinprj\webprj.net\baoms.abc.com echo 开始打包.............................
echo
echo 发布目录:%spath%
echo 打包目录:%tpath%
echo
echo '复制bin目录'
xcopy %spath%\bin\zhaopin.* /s %tpath%\bin /y /I /Q echo '复制Areas目录'
xcopy %spath%\Areas /s %tpath%\Areas /y /I /Q echo '复制Configs\Data目录'
xcopy %spath%\Configs\Data /s %tpath%\Configs\Data /y /I /Q echo '复制Scripts\RC目录'
xcopy %spath%\Scripts\RC /s %tpath%\Scripts\RC /y /I /Q echo '复制Content'
xcopy %spath%\Content /s %tpath%\Content /y /I /Q /EXCLUDE:exclude.txt echo '复制Views'
xcopy %spath%\Views /s %tpath%\Views /y /I /Q echo '复制Template\Todo'
xcopy %spath%\Template\Todo /s %tpath%\Template\Todo /y /I /Q PAUSE
只发布bin文件夹
@echo off
cls
set spath=D:\WebSite\Zhaopin.Bms.Web
set tpath=D:\WebSite\发布_baoms.abc.com\zhaopinprj\webprj.net\baoms.abc.com echo 开始打包.............................
echo
echo 发布目录:%spath%
echo 打包目录:%tpath%
echo cd /d %tpath%
del /S /Q *.*
for /d %%i in (*) do rd /s /q "%%i" echo '复制bin目录'
xcopy %spath%\bin\zhaopin.* /s %tpath%\bin /y /I /Q PAUSE
首先删除所有文件,然后复制bin目录。
压缩成zip文件
@echo off
cls
zip -r 10034-baolong.zhao-%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%.zip zhaopinprj
PAUSE
zip是系统自带的命令。这里走了个弯路开始使用的winrar的命令行rar.exe压缩,可惜的是命令行版本不支持zip格式。后来想过用7z、360压缩,无意间发现从xp开始就有了zip命令,所以最后柳暗花明啊。