设置Visual SVN以供实际使用

时间:2009-03-12 13:00:50

标签: visual-studio svn visualsvn

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

我已经测试了安装,一切似乎都正常。在Visual Studio 2008中,我可以使用“IP of server / svn / domainname folder”成功连接并将网站文件提交到服务器。如果我将浏览器指向URL“服务器/ svn / domainname文件夹的IP”并输入我的用户名和密码,我会看到一个文件夹树,其中包含我刚刚上传的所有文件。所以这些工作正常。

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

任何帮助都会非常感激,因为我对此完全感到困惑。

6 个答案:

答案 0 :(得分:2)

我认为你对VisualSVN的含义感到困惑:

  

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

这是一个灵活的包,包含在Windows机器上运行Subversion源代码控制服务器所需的一切。我喜欢它。通常你不会在也托管网站的机器上安装它,我绝对不会在托管面向公众的网站上安装它。

Subversion只是一个源控制系统。它不会改变有关如何部署站点的任何信息。

答案 1 :(得分:2)

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

  • 通过轮询SVN
  • 设置hudson CI server以定期构建我们的产品
  • 在项目配置的构建步骤中,构建工件会被复制到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>

现在http://svn.example.com/artifacts/充当测试站点,并且只要开发人员向SVN提交代码,就会自动更新。

答案 2 :(得分:0)

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

为了清晰而编辑。

答案 3 :(得分:0)

我从未使用过VisualSVN,但我认为通常情况下,通过SVN和Web服务器,您可以将相应的代码签出到C:\ sites \ domainname中。

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

就个人而言,由于我使用asp.net和C#并使用Web部署项目进行预编译,我通常只是自己移动构建而不是在Web服务器上搞乱SVN。使用像PHP这样的解释语言,它更直接。

我在Windows上的svn客户端是ToirtoiseSVN

答案 4 :(得分:0)

您可以执行post-commit hook,这将SVN将服务器导出到部署路径。

答案 5 :(得分:0)

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