【问题标题】:Jenkins/Hudson fails when trying to retrieve code from CVSJenkins/Hudson 在尝试从 CVS 检索代码时失败
【发布时间】:2011-06-28 21:19:29
【问题描述】:

尝试配置 Jenkins CI。目前只是从 .war 运行它(最终意图作为服务)。 Jenkins 知道 CVS 可执行文件(即会读取版本 [Concurrent Versions System (CVSNT) 2.0.62.1817 (client/server)])。

没有指定 .cvspass,因为它们显然不适合 CVSNT(它更喜欢将密码保存在注册表中。)我已经使用 :pserver:user:passg@ 在作业配置中指定了密码用于 CVSROOT 的 server:/dir 模式,我发现在某些地方建议使用该模式。无论我是使用它运行,还是使用 :pserver:userg@server:/dir 作为 CVSROOT,我都会得到闪烁的红球,jenkins 坚持了 2 分钟半的进度条。然后它失败了。控制台输出类似

致命:hudson.scm.ChangeLogSet.iterator()Ljava/util/Iterator; java.lang.AbstractMethodError: hudson.scm.ChangeLogSet.iterator()Ljava/util/Iterator; 在 hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:282) 在 hudson.model.AbstractBuild.getCulprits(AbstractBuild.java:279) 在 hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:596) 在 hudson.model.Run.run(Run.java:1400) 在 hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 在 hudson.model.ResourceController.execute(ResourceController.java:88) 在 hudson.model.Executor.run(Executor.java:175)

我使用的两个 CVSROOT 都没有为 TortoiseSVN 提供任何问题。我发现一些关于从詹金斯作为服务登录到 SVN 的困难以及相关的用户/系统问题,但考虑到我是从 .war 运行它,我认为这不是问题。

编辑:

有趣的是,如果我使用无效的用户或密码,控制台日志会识别这种情况。

cvs [结帐中止]:授权失败:服务器拒绝访问用户 FOO 的 /dir 致命:CVS 失败。退出代码=1 完成:失败

这表明 Hudson 正在与 CVS 服务器通信并进行身份验证,但还有其他问题。

/编辑

干杯

【问题讨论】:

  • 您的错误看起来不像是访问错误。您可以检查它是否将任何内容下载到您的工作区中吗?创建变更日志时似乎失败了。你用的是什么版本?

标签: hudson cvs jenkins cvsnt


【解决方案1】:

感谢 freenode 上#jenkins 上的 rpetti 回答找到的问题。问题是我在 Hudson 和 Jenkins 之间切换,并且有一些不兼容的配置文件搞砸了。删除并重新创建主目录解决了这个问题。

【讨论】:

  • 您是指运行 Hudson 服务器的用户的主目录吗?
【解决方案2】:

CVSNT 2.0.62.1817 非常老,有several known security issues。请升级到最新的 2.8.01。

【讨论】:

    猜你喜欢
    • 2011-09-21
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2011-10-24
    • 2019-01-06
    • 1970-01-01
    相关资源
    最近更新 更多