2012-10-24 165 views
1

我有一堆PHPUnit测试,我用jenkins中的ANT调用。霎时间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%。

我已经指定詹金斯在詹的配置菜单中使用来自

which ant 

蚂蚁二进制并迫使这个特殊的构建中使用它。

这对我来说没有任何意义,因为今天早些时候构建成功了。这刚刚发生在几天前,我通过重新启动机器来解决它,但我真的想弄清楚为什么会自发地发生。

+0

它在同一测试中总是失败吗?您可以将'-v'添加到Jenkins中的Ant目标列表以获取详细输出。 –

+0

将“-v”添加到目标列表中,在控制台输出中没有用处。 –

+0

有时脚本会以38%失败,有时会以48%失败......但即使调用测试中存在代码导致ANT调用失败,我将如何调试该代码?我不认为它是任何测试代码,因为phpunit会抛出一个错误,对吧? –

回答

1

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

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

  • 由于您使用的是Jenkins,您使用的PHP和您使用的<exec>为什么不尝试在Ant之外进行测试? Jenkins可以在构建过程中运行命令。这将消除Ant作为一个可能的原因。
  • 试着玩弄<exec>设置。将spawn设置为true将产生一个子shell,该子shell不具有在Java中运行exec所具有的内存限制。内存不足可能导致分段错误。
+0

我在哪里添加spawn选项?直接在''...?当我添加'spawn =“true”'我得到'你已经使用了一个属性或者与spawn不兼容的嵌套元素 –

+0

它可以在开发机器上工作,所以我很确定这只是在用ANT –

+1

你在用什么版本的Ant?查看[documentation](http://ant.apache.org/manual/Tasks/exec.html)。这是列出的第六个参数。 –

0

我也有这个问题。对我来说,它最终出现了codecoverage报告所需的xdebug问题。通过另一个php配置文件加载xdebug似乎解决了这个问题。

+0

您是如何配置xdebug以避免这种情况的? – wallerjake

相关问题