我有两个项目,并且具有依赖关系,因此项目 A 启动,它从 git 更新文件,然后运行多配置项目 B,其中:
具有三个轴:“foo”、“bar”和“baz”,包含 11 x 4 x 2 个项目
我将把轴 foo 中的项目 N 的值称为 fooN 等。
有一个配置过滤器,仅在以下情况下运行来排除最后一个轴
baz=="baz1"
(也许在稍后阶段我们还想使用baz2
运行测试 对于巴兹)运行仅
cd
的 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”的有趣信息
这是什么意思?还有其他指示如何解决此问题吗?
编辑:我尝试将“HTTP ping”脚本添加到存储库并从上面的脚本调用它,
就在 python test_${bar}.py
部分之前。这证明对于受影响的
配置,Jenkins 甚至不运行这些行。
最佳答案
不知道你是如何到达这里的(可能是 bug ):
将configure
附加到已禁用配置的URL,并在生成的表单中取消选中已禁用和保存。
关于jenkins - 矩阵中的一项配置每次都会被取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17213023/