【问题标题】:How do I fix my SVN checkout on my Jenkins Slave?如何修复我的 Jenkins Slave 上的 SVN 结账?
【发布时间】:2014-02-07 02:17:02
【问题描述】:

我花了几天时间试图让 Jenkins 使用 svn。

在master上,当我配置svn url时,它会验证URL。

我可以手动进行结帐,并以与我进行测试手动结帐时相同的用户身份运行从站。

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

我已经检查过在subversion enterCredential页面输入不正确的creds会导致错误,输入正确的creds可以通过。

我们在 http 上使用基本的 svn 身份验证(在端口 8080 上)。

作业配置中的 URL 验证正常通过,但在从属设备上运行的作业仍然抛出以下异常。

根据我从网上收集到的各种信息,我很确定这是一个身份验证问题。

slave 是 Mac OS X,master 是 Windows Server 2008。

Jenkins 正在运行 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

【问题讨论】:

    标签: macos svn jenkins jenkins-plugins


    【解决方案1】:

    我还必须删除较新的 jar:
    cd /var/lib/jenkins/plugins/subversion/WEB-INF/lib
    mv svnkit-1.7.10-jenkins-1.jar /tmp
    /etc/init.d/jenkins 重新启动,它工作了!很棒的发现!

    【讨论】:

    • 对于我的情况,当我删除 subversion.jar 然后管道中的 svn 选项消失
    【解决方案2】:

    发现问题..

    在 C:\Program Files (x86)\Jenkins\plugins\subversion\WEB-INF\lib 中有一个旧的 svnkit-1.3.6.1-jenkins-2.jar

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-28
      • 2011-03-08
      • 1970-01-01
      • 2016-10-31
      • 2017-04-19
      • 1970-01-01
      • 2022-12-05
      • 1970-01-01
      相关资源
      最近更新 更多