2

我正在尝试修复一个非常复杂的 buildbot 基础构建系统,该系统有一个令人讨厌的习惯,即在其中显示带有“失败 (1)”的绿色条。

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

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

据了解,我的 master.cfg 中的步骤本身没有设置“flunkOnFailure”,默认值为 true。(虽然从我找到的手册页中并不完全清楚)

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

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

非常感谢。

4

2 回答 2

4

当您将步骤添加到工厂 (iefaddStep(your_step)) 时,您应该指定 haltOnFailure = True 以在特定构建步骤返回 FAILURE 时使整个构建失败。

于 2011-12-07T17:21:27.067 回答
2

默认flunkOnFailureFalsein BuildStep。各种子类会覆盖此默认值,尤其是ShellCommand. 我猜想红色的特定步骤,构建的最终结果是绿色的,没有flunkOnFailure设置。

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

于 2012-02-05T13:25:25.717 回答