我在我的服务器上运行VisualSVN服务器,并且在我的开发PC和我的服务器上都安装了TortoiseSVN。
我希望能够通过SVN推送更新到网站,而无需手动检查htdocs上的最新版本。
我如何在我的服务器上安装TortoiseSVN,当我提交新版本时,自动检出网站的最新版本?
我会build议看看CruiseControl.net ,然后configuration它如下:
这有两个重要的影响:
有关设置CruiseControl.net和Subversion的信息:
有关设置CruiseControl.net发布文件的信息:
有关设置CruiseControl.net以便在进行提交时触发的信息:
如果您的Web服务器上安装了TortoiseSVN,请首先手动签出相关path,然后创build一个batch file(或者只是在2008年安排高级任务),包含以下内容(根据需要调整path):
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"C:\Inetpub\wwwroot\mysite"
然后设定你需要的时间(5分钟,10分钟等)。
使用post-commit 钩子脚本 。
例如,这个post-commit.bat假定C:\ Inetpub \ Blah是一个工作副本,每次发生提交时都会更新它:
pushd C:\Inetpub\Blah "C:\Program Files\VisualSVN\bin\svn.exe" update
你可能必须做一个svn导出,因为隐藏的.snv / _svn目录包含这些文件的副本,如果这个站点没有被预编译,那真的会搞乱aspnet_compiler。 svn导出不会创build隐藏的直接命令。 如果你想编写脚本,你应该使用像SlikSvn这样的命令行访问你的Subversion版本库。 希望这可以帮助。