Hudson无法访问Subversion(svn:服务器拒绝连接)

Hudson无法访问Subversion(svn:服务器拒绝连接),svn,windows-vista,hudson,Svn,Windows Vista,Hudson,在一台装有Vista 32位SP2(UAC激活,卡巴斯基安全套件和防火墙激活)的电脑上,我设置了一个Subversion服务器(使用SlikSVN安装程序1.6.13)、Tomcat 7.0、Java 6u21和Hudson 1.386。我使用Firefox 3.6()通过http接口访问Hudsonhttp://localhost:8080/hudson“)。我下载了一个简单的repo演示并启动了subversion服务器,添加了repo。当命令 “svn列表 svn://localhost/

在一台装有Vista 32位SP2(UAC激活,卡巴斯基安全套件和防火墙激活)的电脑上,我设置了一个Subversion服务器(使用SlikSVN安装程序1.6.13)、Tomcat 7.0、Java 6u21和Hudson 1.386。我使用Firefox 3.6(
)通过http接口访问Hudsonhttp://localhost:8080/hudson“
)。我下载了一个简单的repo演示并启动了subversion服务器,添加了repo。当命令

“svn列表 svn://localhost/gameoflife/trunk"

在命令提示下输入,服务器将打印出列表。我也可以通过右键单击Windows资源管理器中的文件夹来访问OrtoiseSVN回购协议。一切似乎都设置正确。但以下两件事不起作用:

  • 输入
    ”svn://localhost/gameoflife/trunk“
    在浏览器中。浏览器请求他是否应该使用TortoiseSVN打开它,但在同意后,TortoiseSVN无法连接(“被服务器拒绝”)

  • 更重要的是,我的问题的原因是哈德逊无法连接到SVN。生成日志显示
    “错误:签出失败svn://localhost/gameoflife/trunk“
    。项目配置抱怨存储库URL“svn://localhost/gameoflife/trunk无法访问(
    “svn:服务器拒绝连接”
    ),建议添加授权信息。但我还没有在svn服务器上设置用户或密码。我已经将Hudson Subversion插件从1.20更新到1.21,但这并没有改变任何事情。禁用防火墙并没有改变任何事情

  • 我很确定,我在设置构建服务器时严格遵循了详细的分步说明,但由于不支持Subversion和Hudson,我现在陷入了困境。因此我的问题是:哈德逊公司不能访问Subversion的原因是什么?我该如何使它工作

    更新:我确保Vista的主机文件中有“127.0.0.1 localhost”(但即使输入127.0.0.1而不是localhost,URL也不起作用)。我检查了端口3690是否被防火墙阻止。我的错误消息没有说明它有身份验证错误,也没有说服务器主动拒绝连接。这与输入不存在的URL时收到的错误消息相同。如果同一个URL在控制台提示下不起作用,我会假设我有输入错误,但我重复检查了好几次。这可能是Vista的问题,但我仍然找不到解决方案

    更新2:我越来越确信这一定是Vista系统配置方式(错误)的副作用。哈德逊成功了,颠覆成功了。但如果两者都在同一台机器上运行,它们将无法协同工作。我能够从哈德逊内部访问远程Subversion服务器,没有任何问题。但是同一个哈德逊不能在本地访问Subversion。在类似配置的Vista PC上设置时,我再现了“本地不协同工作”的行为(这次使用64位版本和Avira免费软件而不是Kaspersky的主要区别)

    我尝试用另一个版本(VisualSVN服务器2.1.4)交换Subversion发行版,并尝试使用https访问它。起初,我似乎取得了进展,但现在当文件即将从repo中检索时,由于握手错误,我失败了


    由于找不到问题的原因,我现在正在切换到其他CI构建工具。尽管如此,还是感谢您花时间来帮助我。

    听起来您需要身份验证才能与subversion通话。如果匿名读取对您的公司来说不是问题,我建议您将服务器设置为允许匿名读取请求

    如果出现问题,您可以在hudson中输入身份验证详细信息


    如果您使用的是现代版本,它会通知您身份验证失败,您需要输入凭据。

    首先,您是否可以作为哈德逊用户(即运行哈德逊服务器的用户)登录,并查看哈德逊用户是否可以访问subversion数据库

    这将在90%的时间里指出问题所在。它通常是一些小问题,例如错误的路径或错误的身份验证。如果您可以作为Hudson用户从命令行签出和构建,那么您应该能够通过Hudson完成这项工作

    我知道在Windows上,服务器进程可以生成一些无法从命令行登录的服务器用户,但您也可以将真实用户指定为服务器进程。使用Subversion和Hudson最好指定一个真正的用户,以便在必要时进行命令行调试

    听起来好像您正在尝试浏览Subversion存储库,该存储库正在使用带有web浏览器的
    svnserve
    服务器。大多数web浏览器通常无法处理
    svn
    协议

    您应该使用类似或的东西在web浏览器中浏览存储库。Hudson很好地处理了这两个包,并将把它的变更报告与这些包集成在一起。单击文件名将显示生成中使用的版本与以前版本之间的差异


    ViewVC使用Python,Sventon是一个Java包。我更喜欢Sventon,因为它不需要位于Subversion存储库服务器上。

    尝试使用telnet(
    telnet localhost 3690
    )连接到端口3690。如果它不工作,请检查是否已安装svnserve守护程序/服务,以及它是否正在运行

    您是否为JVM配置了代理 (在Windows上,这可以用Java完成 控制面板,默认情况下为Internet 使用浏览器设置)。如果是,, 尝试禁用代理

    这两个技巧摘自

    最后一条评论说:

    。。。我只是好奇为什么会有这种行为 SVNKit和命令行SVN不同


    Hudson无法以标准默认值匿名连接到Windows7(64位)上的SVN服务。以下是pa
    127.0.0.1       localhost4
    ::1             localhost6
    ::1             local-svn
    127.0.0.1       local-tomcat