1

我正在将 Jenkins 从 Windows 迁移到 Debian。我有一个在 Windows 机器上运行良好的 JobDSL,但在 Debian 上使用它,它只构建一些 XML 模块并且无法解释大多数其他模块,即它们显示为未配置的字段/它们的节点在config.xml中不存在。DSL 是从其自己的 Jenkins 作业中调用的,该作业仅检查代码,然后从文件中调用 DSL。如果出现问题,即如果 DSL 找不到它应该配置的插件,则构建将失败或变得不稳定,这取决于错误是什么。

但是,创建作业以“SUCCESS”结束,即使其 DSL 被转换为错误的config.xml。这样,我无法弄清楚出了什么问题。

在这两个系统上,Jenkins 都是 1.596.2,DSL 插件是 1.32(Win)/1.34(Deb)。我小心地安装了 DSL 需要的所有 Jenkins 插件。

编辑:我通过backports将Groovy 更新到 2.2.2,但 DSL 效果没有改变。

有谁知道这可能是什么原因?

4

2 回答 2

1

如果您的问题是由于旧的 groovy 版本引起的,您也许可以通过debian backports安装较新的版本:(在这个答案中也有描述)

  1. 添加deb http://http.debian.net/debian wheezy-backports main(或其他发行版,如squeeze,您可能只看其他行)/etc/apt/sources.list
  2. apt-get update作为根(或通过sudo
  3. apt-get install -t wheezy-backports groovy(再次,wheezy必要时更换)

使用apt-get更新的优点是

  • 它始终使版本保持最新(使用反向移植时),并且
  • 它在系统范围内安装,即为所有用户安装。在GVM 主页上,GVM 似乎并非如此:

然后它将在您的主目录中创建一个 .gvm/ 文件夹,并在其下整齐地安装所有候选者。

于 2015-05-07T13:18:52.607 回答
1

在开始为我的帖子提取一个独立的代码示例时,我发现效果似乎是由archiveXunit模块引起的。当我在该publishers部分中省略它时,一切都按预期工作。包含它会导致奇怪的干扰,例如对 SCM 和 Log Rotation 模块。

顺便说一句,我同时将 Debian 升级到了 Jessie,因为groovy2Wheezy 不支持该软件包(版本 2.xx),并且安装它需要一些不必要的操作。我什至不需要在 Jessie 上使用 backports。(我想知道快速发展的 Jenkins 和保守的 Debian 的组合最初是否是一个不错的选择,但我想时间会证明一切。)

所以,是的......对我来说似乎是一个插件问题。我还写信给插件的邮件列表,这里。我会继续调查这件事。

更新:

这似乎是一个插件问题,但不是来自 JobDSL,而是来自xUnit 和 JUnit plugin 之间的依赖关系。我想创建一个特别苗条的设置并停用 JUnit 插件,因为我认为我的系统上没有 Java 构建或测试......好吧:激活 xUnit,但没有激活 JUnit,JobDSL 以上述方式失败。激活 JUnit 可以解决这个问题。是我对 Jenkins JIRA 中的 xUnit 小错误的描述。

于 2015-05-13T09:11:43.397 回答