3

我正在设置一个新的 jenkins 服务器并且遇到了问题。同步我的 svn 存储库时,我在外部得到这个错误:

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

用于主 repo 的凭据应该在任何地方都可以使用(它们在其他 Jenkins 实例上也可以使用)。

有任何想法吗?

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

谢谢

4

2 回答 2

5

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

我必须在 jenkins 作业中为外部输入第二个 svn url,然后输入升级的凭据。然后凭据被存储在詹金斯服务器上。然后我可以从作业中删除第二个 svn url。

于 2012-06-21T19:45:29.180 回答
0

另一种方法是编辑存储在 Jenkins 主目录的作业定义中的 subversion.credentials 文件。密码是散列的,但如果您在多个存储库中使用相同的凭据,您可以从另一个条目中复制它,您将全部设置好。

我发现这种技术在 repo 的明显 URL 看起来与 Jenkins 盒子不同的时候很有用,而不是在构建从站中。我能够复制整个凭据条目并根据需要更改 url。

于 2013-07-02T14:57:13.077 回答