如何在Jenkins Slave上修复我的SVN结账?

时间:2013-03-03 23:54:28

标签: macos svn jenkins jenkins-plugins

我花了几天时间试图让Jenkins和svn一起工作。

在主服务器上,当我配置svn url时,它会验证URL。

我可以手动进行结账,并且我正在以与测试手册结帐时相同的用户身份运行奴隶。

我尝试在jenkins配置页面上选择所有不同版本的svn。

我已经检查过在subversion enterCredential页面输入不正确的信用卡会导致错误,输入正确的信用卡会让它通过。

我们使用基本的svn auth over http(在端口8080上)。

作业配置中的URL验证通过正常,但在从属服务器上运行的作业仍会引发以下异常。

根据我从网络中获取的各种信息读数,我非常确定这是一个身份验证问题。

奴隶是Mac OS X,主人是Windows Server 2008。

詹金斯在运行1.504(尝试1.502)。我们正在使用svn 1.6。

以下是例外:

Building remotely on Mac OS Test Node in workspace /Users/buildmachine/jenkins/xcode
hudson.util.IOException2: remote file operation failed: /Users/buildmachine/jenkins/xcode at hudson.remoting.Channel@1695eeb:Mac OS Test Node
at hudson.FilePath.act(FilePath.java:861)
at hudson.FilePath.act(FilePath.java:838)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:843)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:781)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1342)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:683)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:588)
at hudson.model.Run.execute(Run.java:1568)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:237)
Caused by: java.io.IOException: Remote call on Mac OS Test Node failed
at hudson.remoting.Channel.call(Channel.java:681)
at hudson.FilePath.act(FilePath.java:854)
... 11 more
Caused by: java.lang.NoSuchMethodError: org.tmatesoft.svn.core.wc.SVNBasicClient.getOperationsFactory()Lorg/tmatesoft/svn/core/wc2/SvnOperationFactory;
at hudson.scm.SvnClientManager.wrapUp(SvnClientManager.java:46)
at hudson.scm.SvnClientManager.getUpdateClient(SvnClientManager.java:67)
at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:71)
at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:153)
at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:903)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:884)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:867)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2348)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Finished: FAILURE

2 个答案:

答案 0 :(得分:2)

我不得不删除新罐子:
cd / var / lib / jenkins / plugins / subversion / WEB-INF / lib
mv svnkit-1.7.10-jenkins-1.jar / tmp
/etc/init.d/jenkins重启并且工作正常!伟大的发现!

答案 1 :(得分:1)

发现问题..

在C:\ Program Files(x86)\ Jenkins \ plugins \ subversion \ WEB-INF \ lib

中有一个旧的svnkit-1.3.6.1-jenkins-2.jar

关闭jenkins并删除此文件解决了这个问题。