在工作中,我们有一个安装了IIS和Subversion的
Windows Server 2003.我们使用它在本地发布和测试
我们的ASP.NET网站.每个程序员都在他的PC上安装了Tortoise,可以更新/提交内容到服务器.托管存储库工作正常.
但是,保存在这些存储库中的文件需要复制到我们的本地IIS(虚拟目录).
我们的ASP.NET网站.每个程序员都在他的PC上安装了Tortoise,可以更新/提交内容到服务器.托管存储库工作正常.
但是,保存在这些存储库中的文件需要复制到我们的本地IIS(虚拟目录).
将这些subversion存储库发布到本地IIS的简单方法是什么?
编辑:
感谢puetzk,我添加了一个简单的bat文件,每次提交时都会执行(检查subversion documentation关于钩子).我的bat文件只包含:
echo off setlocal :: Localize the working copy where IIS points) pushd E:\wwwroot\yourapp\trunk :: Update your working copy svn update endlocal exit
>只需将Web服务器的文件区域保留为工作副本,并在需要“发布”时在其中执行svn.配置它以隐藏.svn文件夹的内容,如果它们看起来不整洁(我不知道如何做到这一点,但我认为可以这样做).他们已经有了文件系统隐藏位,这可能会解决这个问题.
>如果你想要它真的自动(一旦有人提交就更新),在SVN服务器上使用post-commit钩子脚本启动第一个进程.
>如果你想要它真的自动(一旦有人提交就更新),在SVN服务器上使用post-commit钩子脚本启动第一个进程.
评论中的其他人建议使用导出而不是结帐.这也可以,并避免.svn杂乱,但有两个缺点.一,它必须每次都重新下载整个内容,而不仅仅是修改过的文件(因为它没有让.svn目录记住它有什么).如果你有很多文件,这将会慢很多.二,update以原子方式替换文件(在.svn / tmp中写入新版本,然后将其移动到位).导出时,导出会逐渐将文件写入目标.这意味着导出可能会向在错误时间浏览它的人提供不完整的文件.