通过CruiseControl.NET和Windows身份验证访问SVN repo

时间:2010-02-16 16:30:58

标签: svn cruisecontrol.net windows-authentication visualsvn

对于StackOverflow还是ServerFault来说,这有点模棱两可。我认为开发人员有很多机会解决这个问题,所以我选择了这里。

我有两台服务器:

  • SVNServer。这是一个Windows 2003 Server框,托管VisualSVN,它工作正常,并允许通过Windows身份验证进行身份验证。
  • CCNETServer。这是一个Windows 2008 Server框并托管CruiseControl.NET。

我想在它们之间建立一个链接,所以在CCNETServer的项目定义中,我有以下代码:

<sourcecontrol type="svn">
  <trunkUrl>svn://appserv1/aspnet/regBook/trunk</trunkUrl>
  <workingDirectory>C:\Program Files\CruiseControl.NET\Website\Registrars\Source</workingDirectory>
  <username>SVNServer\Username</username>
  <password>Password</password>
</sourcecontrol>

然而,这似乎不起作用,我不断得到构建错误消息“失败的任务:Svn:CheckForModifications” - 可能是因为它没有对服务器进行身份验证。 当你看得更深一点时,它说:“无法连接到主机'SVNServer':无法建立连接,因为目标机器主动拒绝它。”

我无法创建域帐户,但我可以在两台计算机上修改帐户。在尝试为我的SVN服务器保留Windows身份验证时,如何解决这个问题?我应该在哪里寻找更多信息?

2 个答案:

答案 0 :(得分:2)

使用此配置,您需要配置VisuaSVN服务器以允许基本身份验证和集成身份验证。

我不确定这是否是使其工作的唯一方法,或者是否可以对CC.Net使用NTLM身份验证(在这种情况下,您不需要指定用户/密码)。

答案 1 :(得分:2)

您的线索在错误消息中:“无法连接到主机'SVNServer':无法建立连接,因为目标计算机主动拒绝它。”你正试图访问一个没有任何东西闪现的端口。

VisualSVN Server在端口3690上不使用svn:// - 默认情况下,它在端口8443上使用HTTPS。因此,请尝试将您的网址更改为“https://SVNServer:8443/ ...”而不是svn:// SVNServer。