与jenkins / svn externals的麻烦 - auth错误

时间:2012-06-21 00:51:35

标签: svn jenkins

我正在设置一个新的jenkins服务器并遇到问题。 在同步我的svn repo时,我在外部出现了这个错误:

Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: No
credential to try. Authentication failed
       at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)
       at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)
       at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:185)
       at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:598)
       at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:298)
       ... 40 more
Caused by: svn: E200015: No credential to try. Authentication failed
       at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
       at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:154)
       at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:97)
       ... 45 more

用于主要仓库的凭证应该可以在任何地方使用(他们这样做) 在其他Jenkins实例上。)

有什么想法吗?

更新凭据的正确程序是什么?

感谢

2 个答案:

答案 0 :(得分:5)

我明白了。外部是在不同的服务器上。显然地 jenkins使用的svn客户端不够聪明,无法应用 凭据到不同的服务器。 svn本地客户端/乌龟做 处理这种情况。

我必须在jenkins工作中为外部输入第二个svn url,然后输入 证书提升。然后凭证被存储在jenkins服务器中。 然后我可以从作业中删除第二个svn url。

答案 1 :(得分:0)

另一种方法是编辑存储在Jenkins主目录中作业定义中的subversion.credentials文件。密码是经过哈希处理的,但如果您在多个仓库中使用相同的凭证,则可以从其他条目中复制该密码,您将全部设置好。

我发现这种技术非常有用,因为repo的明显URL与Jenkins框不同,而不是构建从属。我能够复制整个凭证条目并根据需要更改URL。