目标 - 实现测试环境自动更新发布包:
开发人员在本机开发好代码, 将发布包 提交 至 SVN 。 服务器端 自动 获取发布包文件。
1. 去掉 远程连接服务器 环节
2. 去掉 手动进行复制文件到服务器 环节
环境描述:
本地环境(IP:192.168.7.7)[Win7 x64]:
本地Svn工作目录:svn://192.168.7.201/01_Project/08_国际快件系统(独立库B.S)/01_Source
本地Svn发布目录:svn://192.168.7.201/01_Project/08_国际快件系统(独立库B.S)/02_Documents/07.Release.α/01.Web
服务器环境 (IP:192.168.7.216) [Windows Server 2012 r2 x64 ] IIS7:
IIS Web站点目录:D:\05.Release\01.Freight\01.Web
服务器Bat和Vbs(主要利用这两个文件实现服务器端Svn自动获取)目录:D:\05.Release\00.AutoUpdate
Svn服务器(IP:192.168.7.201)
实现步骤:
第一步:安装 Subversion(点击下载) (服务器:192.168.7.216)
其他下载地址: https://sourceforge.NET/projects/win32svn/?source=typ_redirect
安装路径: D:\02_Installer\05.SvnServer
第二步:在目录 D:\05.Release\00.AutoUpdate 中新建 一个Bat文件:
post-commit.bat 内容如下:
@echo off
"D:/02_Installer/05.SvnServer/bin/svn.exe" update "D:/05.Release/01.Freight/01.Web" --username "Svn用户名" --password "Svn密码"
第三步:在目录D:\05.Release\00.AutoUpdate 中新建 一个 .vbs 文件:
post-commit.vbs 内容如下:
Set ws=wscript.createobject("wscript.shell")
dim bat
'需运行的文件
bat="cmd.exe /c post-commit.bat"
do
'0表示不显示窗口,1显示,调试用
ws.run bat,0
'每5秒运行一次
wscript.sleep 5000
loop
这样每次开发好,只要发布包到 本机,提交至Svn ,服务器上就会自动进行更新了。
注意事项:
按照如上步骤 自动更新未成功时, 可直接 运行 cmd (管理员权限) bat 中的命令 进行查看错误
例如我的命令为:
"D:/02_Installer/05.SvnServer/bin/svn.exe" update "D:/05.Release/01.Freight/01.Web" --username "Svn用户名" --password "Svn密码"
附录:
1. 本机文件目录示例:
2.服务器文件目录示例