8

我在 Jenkins 有一个项目,其中有许多 SVN 存储库可供提取。每当我构建时,工作区清理后的第一次构建都会失败,并出现如下错误。无需更改任何内容,下一次构建将成功。

如果我将项目设置为始终在构建之前清理工作区,它总是会失败。每次使用不同的 SVN 存储库。

我尝试迁移到 SVN 1.6,尝试验证 HTTPS 证书是否正常,不知道还要寻找什么?

ERROR: Failed to parse svn info for     https://subversion.assembla.com/svn/<PROJECT NAME HIDDEN>/trunk
org.tmatesoft.svn.core.SVNException: svn:     '/tmp/data/hudson/jobs/Build_ISO/workspace/ch.ethz.ssh2' is not under version control
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
    at org.tmatesoft.svn.core.wc.SVNWCClient$13.handleError(SVNWCClient.java:3314)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.walkEntries(SVNWCAccess.java:758)
    at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.walkEntries(SVNWCAccess.java:741)
at org.tmatesoft.svn.core.wc.SVNWCClient.crawlEntries(SVNWCClient.java:3294)
at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2498)
at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2865)
at hudson.scm.SubversionSCM$BuildRevisionMapTask.invoke(SubversionSCM.java:1023)
at hudson.scm.SubversionSCM$BuildRevisionMapTask.invoke(SubversionSCM.java:1001)
at hudson.FilePath.act(FilePath.java:832)
at hudson.FilePath.act(FilePath.java:814)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:685)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1212)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:579)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:468)
at hudson.model.Run.run(Run.java:1410)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:238)
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: '/tmp/data/hudson/jobs/Build_ISO/workspace/ch.ethz.ssh2' is not under version control
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:163)
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:118)
... 17 more
4

6 回答 6

7

我知道该线程很旧并且几乎已过时,但这并没有阻止像我这样的人登陆这里寻找解决这个流行的詹金斯问题的方法。因此,既然现在我的问题已解决,我将发布答案以供将来使用:-

最初的搜索给出的问题是由于某些版本的 SVN 插件中的错误,所以明显的解决方案是更改该插件,@ChrisH 给出的链接中也指出了这一点。他的链接很有帮助。因此,您可以使用以下两种方式更新 svn 插件:-

  1. 去管理插件并从那里安装更新。
  2. 从此链接下载 *.hpi 文件并将 *.hpi 文件放在 $JENKINS_HOME/plugins/ 文件夹中。如果您不知道 $JENKINS_HOME 文件夹在哪里,那么它很可能是您主目录中的隐藏文件夹(对于 linux)。

更新插件后,您需要重新启动jenkins 以使新插件生效。

但是,如果您最近下载了 jenkins,您可能不需要遵循上述过程。只需转到管理 Jenkins-> 配置系统并从组合框中更改 SVN 版本(到 1.6)。

玩得开心,

于 2013-04-26T09:33:31.770 回答
2

如果您的存储库中有任何 svn:externals 链接,您可能会遇到以下问题之一:

于 2012-08-15T06:42:57.987 回答
1

当我使用模块名称检查第一个存储库和使用“。”(无模块名称)检查第二个存储库时,我遇到了类似的问题。第二个结帐覆盖了第一个结帐。

对我有用的解决方案是:首先检查非模块名称存储库(只能是一个),然后检查非模块名称存储库。

于 2016-08-11T12:23:29.387 回答
0

如果我正确理解您的设置,您有多个 SVN URL,并且您希望将这些 URL 签出到您的 jenkins 项目工作区中的一组文件夹中。像我在这里的东西: 在此处输入图像描述

如果您不定义本地模块目录,那么工作区就是那样。而且我认为如果您的结帐包含重叠的目录,您可能会遇到问题。因此,始终使用模块目录设置在一个项目中单独签出。然后你需要调整你的构建以适应它。

于 2012-08-10T20:39:54.533 回答
0

这个问题在2020年再次出现!尝试了上述所有解决方案,但没有任何帮助。我不得不停止 Jenkins 服务并删除有问题的 svn 外部文件夹并重新启动。这成功了。原因是我已升级 Jenkins 以开始使用更新的数据格式。这导致许多作业因 ERROR: Failed to parse svn info for external .... at .. org.tmatesoft.svn.core.SVNException: svn: E200005: 'C:\Jenkins\jobs...'而失败不受版本控制

于 2020-02-20T23:46:23.503 回答
0

这是另一种可能性:svn:externals属性中的 URL 不一致。我刚刚在我当前的项目中发现了这一点:. (顶部)所有引用的 testmachine-01但目录服务器上的外部引用testmachine-01.companydomain.com并且这在我的开发机器上以一种方式解决,而在构建服务器上以另一种方式解决。

于 2015-09-07T22:50:53.320 回答