通过 CruiseControl.NET 和 Windows 身份验证访问 SVN 存储库
关于它是针对 StackOverflow 还是针对 ServerFault,这有点模糊。我认为开发人员有尽可能多的机会解决这个问题,所以我选择了这里。
我有两台服务器:
- SVNServer。这是一个 Windows 2003 Server 盒子,托管 VisualSVN,它工作正常,并允许通过 Windows 身份验证进行身份验证。
- CCNET服务器。这是一个 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 身份验证?我应该在哪里寻找更多信息?
this is a bit of an ambiguous one as to whether it is for StackOverflow or ServerFault. I figured developers would have as much chance of solving this problem, so I opted for here.
I have two servers:
- SVNServer. This is a Windows 2003 Server box and hosts VisualSVN which is working fine and allows authentication via Windows Authentication.
- CCNETServer. This is a Windows 2008 Server box and hosts CruiseControl.NET.
I'd like to set up a link between them both, so in my Project definition on the CCNETServer, I have the following code:
<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>
This however doesn't seem to work, I constantly get build errors with the message "Failing Tasks : Svn: CheckForModifications" - presumably because it is not authenticating against the server.
When you look a bit deeper it says: "Can't connect to host 'SVNServer': No connection could be made because the target machine actively refused it."
I'm not able to create a domain account, but I'm able to amend accounts on both machines. How can I get around this, while trying to keep Windows Authentication for my SVN server? Where should I look for more information?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的线索在错误消息中:“无法连接到主机‘SVNServer’:无法建立连接,因为目标计算机主动拒绝它。”您正在尝试访问一个没有任何内容的端口。
VisualSVN 服务器在端口 3690 上不使用 svn:// - 默认情况下在端口 8443 上使用 HTTPS。因此,请尝试将您的 URL 更改为“https://SVNServer:8443/...”而不是 svn:// SVN服务器。
Your clue is in the error message: "Can't connect to host 'SVNServer': No connection could be made because the target machine actively refused it." You're trying to access a port which nothing is litening on.
VisualSVN Server doesn't use svn:// on port 3690 - it uses HTTPS on port 8443 by default. So try changing your URL to "https://SVNServer:8443/..." instead of svn://SVNServer.
使用此配置,您需要配置 VisuaSVN Server 以允许基本身份验证和集成身份验证。
我不确定这是否是使其工作的唯一方法,或者是否可以对 CC.Net 使用 NTLM 身份验证(在这种情况下,您不需要指定用户/密码)。
With this configuration you need to configure VisuaSVN Server to allow basic authentication AND integrated authentication.
I am not sure if this is the only way to make it work or if it is possible to use NTLM authentication for CC.Net (in that case you would not need to specify user/password).