Visual studio 设置Visual SVN以供实际使用

Visual studio 设置Visual SVN以供实际使用,visual-studio,svn,visualsvn,Visual Studio,Svn,Visualsvn,我刚刚在本地计算机和托管网站的服务器上安装了VisualSVN。我在安装软件时使用了标准的默认设置,但是我有点困惑如何在我们的设置中使用它 我已经测试了安装,一切正常。在VisualStudio2008中,我可以使用“服务器IP/svn/domainname文件夹”成功地连接到服务器并将网站文件提交到服务器。如果我将浏览器指向url“服务器IP/svn/domainname文件夹”并输入用户名和密码,我会看到一个文件夹树,其中包含我刚刚上载的所有文件。因此,这部分工作正常 我的问题是我们如何测试

我刚刚在本地计算机和托管网站的服务器上安装了VisualSVN。我在安装软件时使用了标准的默认设置,但是我有点困惑如何在我们的设置中使用它

我已经测试了安装,一切正常。在VisualStudio2008中,我可以使用“服务器IP/svn/domainname文件夹”成功地连接到服务器并将网站文件提交到服务器。如果我将浏览器指向url“服务器IP/svn/domainname文件夹”并输入用户名和密码,我会看到一个文件夹树,其中包含我刚刚上载的所有文件。因此,这部分工作正常

我的问题是我们如何测试我刚刚上传的网站?在我们的服务器上,我们所有的网站都存储在“C:\sites\domainname”文件夹中。在IIS中,我们将该文件夹映射到域名,这样当有人在domainname.com中键入时,他们就可以得到正确的网站。如何配置Visual SVN服务器设置以允许我使用当前的“C:\sites\domainname”设置


任何帮助都将不胜感激,因为我对此完全感到困惑。

听起来您需要从subversion到web服务器查看这些网站。将IIS中的虚拟驱动器映射到这些文件夹


为清晰起见进行了编辑。

我从未使用过VisualSVN,但我认为,一般来说,使用SVN和Web服务器,您可以将适当的代码签出到C:\sites\domainname中

然后,当您想要将代码推送到服务器上时,可以在该目录上运行SVN更新(假设适当的更改已推送到subversion中)。显然,我会先使用一个测试域和另一个目录来测试它(或者只是用IIS浏览一个测试目录)

但就我个人而言,由于我使用asp.net和C#并使用Web部署项目进行预编译,我通常只移动构建,而不是在Web服务器上处理SVN。使用诸如PHP之类的解释语言,它更直接


我在windows上的svn客户端是ToirtoiseSVN

您可以执行一项操作,这将svn将服务器导出到部署路径

问题在于subversion通常不会将文件存储在硬盘上。它使用数据库或虚拟文件系统来存储文件。这是对它们进行版本控制所必需的。
完成这项工作的最简单方法是使用subversion命令行客户端,编写一个小批处理文件,用于检查subversion存储库的头版本,并将文件复制到IIS文件夹。您可以通过cronjob定期调用批处理文件。

我认为您对什么是VisualSVN感到困惑:

VisualSVN Server是一个软件包,包含在Windows平台上为您的团队安装、配置和管理Subversion Server所需的一切。它包括Subversion、Apache和一个管理控制台

它是一个精巧的包,包含在Windows计算机上运行Subversion源代码管理服务器所需的一切。我喜欢它。通常情况下,你不会在同时拥有网站的机器上安装这个,我也绝对不会在拥有面向公众的网站的机器上安装


Subversion只是一个源代码控制系统。它不会改变您部署站点的方式。

在我的公司,我们通过以下解决方案实现了这一点:

  • 通过轮询SVN,建立一个定期构建我们产品的
  • 在项目配置的构建步骤中,构建工件会被复制到类似c:\artifacts的文件夹中
  • 然后,我们在C:\Program Files\VisualSVN Server\conf\httpd-custom.conf中创建了一个定制的apache配置文件(不要修改httpd.conf;它在更新过程中会被覆盖,等等)
然后,我们将以下内容添加到httpd-custom.conf中:

LoadModule alias_module bin/mod_alias.so
<Directory "C:/artifacts">
    Options Indexes
    AllowOverride None
</Directory>

<IfModule alias_module>
    Alias /artifacts C:/artifacts
</IfModule>
LoadModule alias\u module bin/mod\u alias.so
期权指数
不允许超限
别名/工件C:/artifacts

现在充当测试站点,并在任何开发人员向SVN提交代码时自动更新。

这不起作用,因为VisualSVN将端口80用于自己的apache服务Hi Jamie,您是否介意解释一下为什么不在承载公共站点的服务器上安装Visual SVN?我当然需要这样做,这样我们在办公室上传新内容时就不会互相覆盖了?我是新手,如果这是个愚蠢的问题,我很抱歉;)谢谢,Richard,因为它将您的源代码(即知识产权)放在易受攻击的服务器上。通常会有多个开发人员提交源代码更改。当变更被测试和接受时,一个构建过程(手动或自动)构建并部署站点到托管服务器。谢谢Jamie。我们正在设置一个本地服务器,以便在部署之前处理所有的开发工作。我只是问,因为我想检查你的问题是否与软件中的安全漏洞有关。谢谢你的评论:)这就是我需要做的。感谢Manuel.SVN EXPORT的帮助导出源代码。。。它不会为你构建项目。我想如果你将构建输出置于源代码控制下,你可以做到这一点,但这不是一种标准做法。明白-这个项目目前还没有向公众开放,所以它可以让我们在等待为我们设置开发服务器时开始开发。在提交后挂钩中,你可以命令行构建应用程序,并将其重新导出到实际文件夹中。