使用Jenkins的SVN“不受版本控制”失败

时间:2012-08-08 20:05:00

标签: svn hudson jenkins

我在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

6 个答案:

答案 0 :(得分:6)

我知道线程已经过时了,而且几乎已经过时但是并没有像我这样的人一起停下来寻找这个流行的jenkins问题的解决方案。所以既然现在我的问题已经解决了,我会发布答案供将来使用: -

初步搜索给出的问题是由于某些版本的SVN插件中的错误,所以显而易见的解决方案是更改该插件,同样在@ChrisH给出的链接中指出。他的联系很有帮助。因此,您可以使用以下两种方式更新svn插件: -

  1. 转到管理插件并从那里安装更新。
  2. this link下载* .hpi文件,并将* .hpi文件放在$ JENKINS_HOME / plugins /文件夹中。如果您不知道$ JENKINS_HOME文件夹的位置,那么它将是您主目录中的隐藏文件夹(对于Linux)。
  3. 更新插件后,您需要重新启动 jenkins,以便新插件生效。

    但是,如果您最近下载了jenkins,则可能无需按照上述步骤操作。简单转到管理Jenkins-&gt;配置系统并从组合框中更改SVN版本(至1.6)。

    玩得开心,

答案 1 :(得分:2)

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

答案 2 :(得分:1)

当我使用模块名称检出第一个存储库时,我遇到了类似的问题,第二个存储库使用“。”(没有模块名称)。 第二次结账是覆盖第一次。

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

答案 3 :(得分:0)

如果我正确理解您的设置,您有几个SVN网址,并且您希望将这些网址检查到jenkins项目工作区中的一组文件夹中。像我这里的东西: enter image description here

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

这个问题在2020年再次浮出水面!尝试了上述所有解决方案,但没有帮助。 我必须停止Jenkins服务并删除有问题的svn外部文件夹,然后重新启动。 这成功了。 原因是我已经升级了詹金斯以开始使用较新的数据格式。这导致许多工作失败 错误:无法在..处解析外部...的svn信息。 org.tmatesoft.svn.core.SVNException:svn:E200005:“ C:\ Jenkins \ jobs ...”不受版本控制