1

我有一堆 PHPUnit 测试,我在 jenkins 中使用 ANT 调用它们。突然间

[exec] ...............................................................  63 / 644 (  9%)
[exec] ............................................................... 126 / 644 ( 19%)
[exec] ............................................................... 189 / 644 ( 29%)
[exec] ............................................................... 252 / 644 ( 39%)
[exec] ............................................................... 315 / 644 ( 48%)
[exec] .............................................................

BUILD FAILED
/etc/jenkins/build.xml:188: exec returned: 139

Total time: 57 seconds
Build step 'Invoke Ant' marked build as failure

有趣的是,当我手动运行测试时,一切都运行(至少),即:达到 100%。

我已经指定 Jenkins 使用来自的 ant 二进制文件

which ant

在 Jenkins 的配置菜单中并强制此特定版本使用它。

这对我来说毫无意义,因为今天早些时候构建成功了。几天前才开始发生这种情况,我通过重新启动机器解决了它,但我真的很想弄清楚为什么会自发发生这种情况。

4

2 回答 2

1

它仅在 Jenkins 服务器上失败,还是在开发机器上也失败?什么命令失败了?

退出代码 139 是分段违规。你必须确定什么是失败的。

  • 既然您正在使用 Jenkins,并且您正在使用 PHP,那么您<exec>为什么不尝试在 Ant 之外进行测试呢?Jenkins 可以在构建过程中运行命令。这将消除 Ant 作为可能的原因。
  • 尝试使用<exec>设置。设置spawn为 true 将生成一个子 shell,它没有exec在 Java 中运行的内存限制。内存不足可能会导致分段错误。
于 2012-10-25T00:59:54.013 回答
0

我也有这个问题。对我来说,它最终导致了 xdebug 的问题,这是代码覆盖报告所必需的。通过另一个 php 配置文件加载 xdebug 似乎可以解决问题。

于 2013-06-17T10:05:36.403 回答