svn checkout bat
windows 客户端安装subversion
windows svn-checkout.bat脚本编写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64/path/to/project/hooks/svn-checkout.bat:
@echo off
set PMSDIR=C:\clone_dir
set PMSVBS=%PMSDIR%\hooks\svn-update.vbs
set PMSBAT=%PMSDIR%\hooks\update.bat
set SVNURL=https://10.10.10.10/svn/test/
set SVNUSR=aaa
set SVNPWD=aaa
set SVNCMD="C:\Program Files (x86)\Subversion\bin\svn.exe"
if not exist %SVNCMD% (
echo 执行失败:
echo 系统未安装subversion,请先安装subversion后,在进行重新执行...
echo Subversion:https://sourceforge.net/projects/win32svn/
exit
)
if not exist %PMSDIR% (
echo 开始部署程序...
%SVNCMD% checkout %SVNURL% %PMSDIR% --username %SVNUSR% --password %SVNPWD%
echo 结束部署程序...
echo 开始执行vbs更新程序...
start %PMSVBS%
echo 结束执行vbs更新程序...
exit
) else (
echo 是否需要删除目录%PMSDIR%,并重新下载程序包?
echo 选择'yes',会删除目录%PMSDIR%,并重新下载程序包
echo 选择'no',默认会尝试更新目录%PMSDIR%
set /p input=请输入:
)
if %input% == yes (
taskkill /f /im wscript.exe
echo 已经停止wscript.exe服务
rd /s /Q %PMSDIR%
echo 已经删除目录%PMSDIR%
ping -n 3 127.0.0.1>nul
echo 开始重新部署程序...
%SVNCMD% checkout %SVNURL% %PMSDIR% --username %SVNUSR% --password %SVNPWD%
echo 结束重新部署程序...
echo 开始执行vbs更新程序...
call %PMSBAT%
echo 结束执行vbs更新程序...
) else (
echo 开始更新程序...
echo %SVNCMD% update %PMSDIR% --username %SVNUSR% --password %SVNPWD%
%SVNCMD% update %PMSDIR% --username %SVNUSR% --password %SVNPWD%
echo 结束更新程序...
)
pausewindows svn-update.bat脚本编写
1
2
3/path/to/project/hooks/svn-update.bat:
@echo off
"C:\Program Files (x86)\Subversion\bin\svn.exe" update "C:\clone_dir" --username "aaa" --password "aaa"windows svn-update.vbs脚本编写
1
2
3
4
5
6
7
8
9
10
11
12
13/path/to/project/hooks/svn-update.vbs:
'指定时间间隔调用.bat文件
'停止脚本请在任务管理器结束wscript.exe
Set ws=wscript.createobject("wscript.shell")
dim bat
'需运行的文件
bat="cmd.exe /c svn-update.bat"
do
'0表示不显示窗口,1显示,调试用
ws.run bat,0
'每60秒运行一次
wscript.sleep 60000
loopwindows update.bat脚本编写
1
2
3
4
5
6
7
8
9
10
11@echo off
set PMSDIR1=D:\clone_dir\hooks
set PMSVBS1=svn-update.vbs
if exist %PMSDIR1% (
cd /d %PMSDIR1%
echo 开始执行vbs程序:%PMSVBS1%
start %PMSVBS1%
echo 结束执行vbs程序:%PMSVBS1%
)