jenkins - 矩阵中的一项配置每次都会被取消

标签 jenkins continuous-integration

我有两个项目,并且具有依赖关系,因此项目 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/

相关文章:

Jenkins 项目订单

java - 如何为 jenkins 作业设置 JDK 版本

java - 从 Jenkins 到 Tomcat 部署 war 时出现 OutOfMemoryError

networking - 无法使用端口 8080 访问在 Raspberry Pi 上运行的 Jenkins

ios - 在 Xcode 机器人上运行单元测试后生成 .gcda 文件

gradle - 如何在 settings.gradle 文件中声明构建脚本、依赖项和插件?

tfs - 有没有办法加快 Visual Studio 团队服务(和 TFS)的构建速度

Docker 挂载卷 GID 不匹配导致错误 : dial unix/var/run/docker. sock: connect: permission denied

bash - 启动elasticsearch后运行单元测试

C++ 与性能指标的持续集成