我有两个项目和依赖项,因此项目 A 启动,它从 git 更新文件,然后运行一个多配置项目 B,它:
具有三个轴:“foo”、“bar”和“baz”,包含 11 x 4 x 2 个项目
我将从轴 foo 等中为项目 N 调用诸如 fooN 之类的值。
有一个配置过滤器,通过仅在以下情况下运行来排除最后一个轴
baz=="baz1"
(也许在稍后阶段,我们还想用baz2
for baz 运行测试)运行一个仅
cd
s 的 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 甚至没有运行这些行。