为什么buildbot * NOT *失败呢?

时间:2011-12-05 14:23:20

标签: python linux buildbot

我正在尝试修复一个非常复杂的buildbot基础构建系统,它有一个令人讨厌的习惯,就是在其中显示带有'failed(1)'的绿色栏。

问题是我们使用ShellCommand构建步骤运行几个命令,当它返回非零时,它不会使整个构建失败。

我们还有在详细信息页面上显示红色的步骤,但整个构建仍显示绿色。

至于知道'flunkOnFailure'没有设置在我的master.cfg中的步骤本身,默认为true。 (虽然从我发现的手册页中并不完全清楚)

在ShellCommand执行时,我需要做什么(或撤消)以确保整个构建失败?

这是在100%Linux环境下运行。

非常感谢。

2 个答案:

答案 0 :(得分:4)

当您向工厂添加步骤(即f.addStep(your_step))时,您应指定haltOnFailure = True,以便在特定构建步骤返回FAILURE时使整个构建失败。

答案 1 :(得分:2)

flunkOnFailure的默认值为False BuildStep。各种子类重写此默认值,尤其是ShellCommand。我猜想红色的特定步骤,以及构建的最终结果为绿色,没有设置flunkOnFailure

另一方面,可能是haltOnFailure未设置,因此其他步骤正在运行且成功,但构建的整体结果仍然失败。成功的步骤仍然是绿色的,即使它们遵循失败的步骤。特别是,瀑布页面的主体并不表示特定构建是成功还是失败(尽管顶部的框表示最新构建的结果。网格或最近构建页面将显示结果建设清楚。