我在我的服务器上运行 VisualSVN 服务器,我的开发 PC 和服务器上都安装了 TortoiseSVN。
我希望能够通过 SVN 将更新推送到网站,而无需手动检查 htdocs 上的最新版本。
当我提交新版本时,如何让我的服务器上的 TortoiseSVN 自动签出站点的最新版本?
我在我的服务器上运行 VisualSVN 服务器,我的开发 PC 和服务器上都安装了 TortoiseSVN。
我希望能够通过 SVN 将更新推送到网站,而无需手动检查 htdocs 上的最新版本。
当我提交新版本时,如何让我的服务器上的 TortoiseSVN 自动签出站点的最新版本?
我建议查看CruiseControl.net,然后将其配置如下:
这有两个重要的影响:
有关设置 CruiseControl.net 和 Subversion 的信息:
有关设置 CruiseControl.net 以发布文件的信息:
有关将 CruiseControl.net 设置为在提交时触发的信息:
如果你的 Web 服务器上安装了 TortoiseSVN,首先手动检查相关路径,然后创建一个包含以下内容的批处理文件(或者如果在 2008 年只安排一个高级任务)(根据需要调整路径):
然后设置您需要的时间段(5 分钟、10 分钟等)。
使用提交后挂钩脚本。
例如,这个post-commit.bat假定C:\Inetpub\Blah是一个工作副本,并在每次提交时更新它:
您可能必须进行 svn 导出,因为隐藏的 .snv/_svn 目录包含文件的副本,如果该站点未预编译,则真的会弄乱 aspnet_compiler。svn export 不会创建隐藏的目录。如果你想编写脚本,你应该使用像 SlikSvn 这样的东西,它可以让你通过命令行访问你的 Subversion 存储库。希望这可以帮助。