私はいくつかのステップを持つbuildbotビルドファクトリを持っています。 1つのステップが定期的にタイムアウトし、buildbotが例外をスローして終了します。しかし、この場合でも、生成されたログを保存できるようにしたいと考えています。 1つのオプションは、前のステップがタイムアウトした場合にのみ実行されるステップを追加することです。 doStepIf
を使用することは可能です。しかし、状態をTIMEOUT
と表示する方法はありません。ちょうどSUCCESS, WARNINGS, FAILURE, or SKIPPED
です。 この問題を解決する最善の方法は何ですか?前のタイムアウトが発生した場合の条件ステップの実行方法
doStepIf
機能の例:
from buildbot.status.builder import Results, SUCCESS
def doStepIf(step):
allSteps = step.build.getStatus().getSteps()
lastStep = allSteps[-1]
rc = lastStep.getResults()[0] # returns a tuple of (rc, string)
# if the rc == SUCCESS then don't continue, since we don't want to run this step
return Results[rc] == Results[SUCCESS]
'haltOnFailure'属性値にはどのようなステップがありますか? Trueに設定されている場合、 'alwaysRun'属性がTrueに設定されていない限り、さらなるステップ(ログ保存など)はスキップされます。詳細はhttp://docs.buildbot.net/latest/manual/cfg-buildsteps.html?highlight=haltonfailure#common-parametersを参照してください。 – rutsky