【问题标题】:HUDSON - SVN TAG plugin works on one job but not anotherHUDSON - SVN TAG 插件适用于一项工作,但不适用于另一项工作
【发布时间】:2012-03-29 20:43:20
【问题描述】:

我为 Hudson 设置了 SVN TAG 插件,构建成功后出现以下错误:

SvnTag plugin does not support tagging for SCM hudson.scm.NullSCM@6f0c3e55.

JOB #1 工作正常,但依赖于源代码更改来触发构建。我们在这项工作中将“源代码管理”设置为“Subversion”。

作业#2 是我遇到问题的地方。这项工作所做的就是将文件从我们的存储库主干文件夹移动到生产源代码文件夹中。我们在此作业中为“源代码管理”选择了“无”,因此该作业不依赖于构建的提交或更改。

有人知道为什么我在 hudson 成功构建时会收到此错误吗?

【问题讨论】:

  • 我从未使用过 svn 标签插件。但是当源代码管理被禁用时,作业如何从存储库中复制文件呢?
  • 我认为成功构建它仍然会使用插件进行标记。 JOB #2 中的所有构建都是将文件从我们的主干移动到实时代码区域。
  • 看起来标签插件正在强制激活自己,尽管您没有在 JOB#2 中检查它,并且由于您将 SCM 设置为 NONE(我猜 NullSCM 是代表 NONE 选项的 SCM 实现) 它不知道如何标记,因此出现错误。作业配置是否有任何关于 SVN TAG 插件的其他(可能是隐藏的)选项?

标签: java svn hudson


【解决方案1】:

这就是我认为正在发生的事情。从插件文档中:此插件直接从 Hudson 核心的 Subversion SCM 类获取身份验证信息,因此此处指定的主体和凭据用于 subversion 身份验证。如果您不使用“源代码管理”步骤,则不会为作业对象指定该核心类。

显而易见的解决方法:定义源代码管理步骤,但不要将其用作触发器。缺点:该作业会浪费时间尝试更新工作副本。

另一种解决方法(我不确定它是否有效,但值得一试):使用BlameSubversion Plugin。它不会造成任何伤害,并且会定义“hudson.scm”对象。但是,该对象可能不包含标记插件所需的方法/数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多