1 回答

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
Buildbot 中的每個(gè)步驟都作為狀態(tài)返回SUCCESS, WARNINGS, SKIPPED, FAILURE, CANCELLED, EXCEPTION,RETRY
因此,如果MyCoolStep有效,它將構(gòu)建狀態(tài)設(shè)置為SUCCESS,您可以檢查CommitWork它以執(zhí)行它。
因?yàn)镽ollbackWorkflow您可以檢查構(gòu)建是否處于FAILURE狀態(tài)并執(zhí)行它。由于CommitWork在此狀態(tài)下被跳過(guò),整體狀態(tài)不會(huì)升級(jí)到SKIPPED
如果兩個(gè)步驟都被隱藏,SKIPPED那么它們?cè)诓粓?zhí)行時(shí)不會(huì)污染 buildbot 輸出。
def success(build):
return build.getStatus() == SUCCESS
def failure(build):
return build.getStatus() == FAILURE
def skipped(results, build):
return results == SKIPPED
factory = util.BuildFactory()
factory.addStep(MyCoolStep())
factory.addStep(CommitWork(), doStepIf=success, hideStepIf=skipped)
factory.addStep(RollbackWork(), doStepIf=failure, hideStepIf=skipped)
添加回答
舉報(bào)