我正在寻找一种解决方案,将ASP.NET应用程序从一台服务器中的SVN部署到其他远程Web服务器。 FTP是不允许的。应该完成除文件复制之外的其他任务 - 例如创建虚拟目录。
您会使用哪些工具?远程服务器可以安装MSBuild或NAnt,但如何安全地将文件从SVN服务器复制到Web服务器?也许SSH?还有其他选择吗?是否可以对文件副本进行原子操作?我不认为持续集成服务器会帮助我。
SVN和Web服务器都是使用Windows 2k3,IIS 6.0,.NET 2.0构建的。
修改
部署应该使用SVN post commit hook自动进行。
答案 0 :(得分:4)
我使用sysinternals(http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx)中的psexec来远程调用我的钩子脚本中的svn命令。基本上,每当有人检查生产分支中的某些内容时,它会在远程服务器上调用svn update并将更新投入生产。
根据两台服务器之间打开的端口,这可能有效,也可能无效。
答案 1 :(得分:0)
但也许持续集成服务器可能有帮助吗?以下是一些想法:
例如,我在每次提交后都使用CruiseControl.NET自动构建我们的解决方案。也许您可以在Web服务器上使用它来在每次提交后从SVN存储库中检索最新版本。
如果要求对SVN存储库的访问是安全的,那么您可以在存储库服务器上使用VisualSVN server,然后使用https访问存储库。
(许多可能的,但也许;-)有一些东西可以帮助你)