5

我有两个项目和依赖项,因此项目 A 启动,它从 git 更新文件,然后运行一个多配置项目 B,它:

  • 具有三个轴:“foo”、“bar”和“baz”,包含 11 x 4 x 2 个项目

    我将从轴 foo 等中为项目 N 调用诸如 fooN 之类的值。

  • 有一个配置过滤器,通过仅在以下情况下运行来排除最后一个轴 baz=="baz1"(也许在稍后阶段,我们还想用baz2 for baz 运行测试)

  • 运行一个仅cds 的 shell 脚本,并使用脚本调用 python 解释器

    cd /path/to/scripts
    python test_${bar}.py
    

所以当项目运行时,我预计要测试 44 个配置。但只有 43 个。

它总是相同的配置(恰好是最后一个触发的配置,因为 Jenkins 似乎记得顺序(?))根本不会运行:

  • 在最终矩阵中看起来像一个带有“已禁用”工具提示的灰点

  • 在控制台输出中,在对所有 44 种组合说“触发 bazN、barN、fooN”之后,然后对除最后一个组合之外的所有组合都说“bazN、barN、fooN 完成并获得结果成功”,但最后一个似乎总是被取消/中止:

    baz1,bar7,foo3 appears to be cancelled
    baz1,bar7,foo3 completed with result ABORTED
    
  • 单个组合的控制台输出不可用——看起来它从未构建过

  • Jenkins 日志没有显示任何关于“baz1,bar7,foo3”的有趣信息

这是什么意思?任何其他指针如何解决这个问题?

编辑:我尝试在 repo 中添加一个“HTTP ping”脚本,并在python test_${bar}.py部分之前从上面的脚本中调用它。这证明对于受影响的配置,Jenkins 甚至没有运行这些行。

4

3 回答 3

9

在不知道你是如何开始的(可能是一个错误)的情况下:

附加configure到已禁用配置的 URL,并在生成的表单中,取消选中已禁用保存

于 2014-01-13T14:43:37.357 回答
0

这是一个已解决的 Jenkins 问题: https ://issues.jenkins-ci.org/browse/JENKINS-19179

由 Matrix Project 插件,版本 1.4: https ://wiki.jenkins-ci.org/display/JENKINS/Matrix+Project+Plugin

于 2014-11-11T18:18:53.497 回答
0

不是真正的答案,但作为解决问题的方法,将整个项目克隆到一个新项目会有所帮助:使用新项目,所有配置都可以正常运行。

于 2013-06-21T11:31:03.530 回答