1 回答

TA贡献2051条经验 获得超10个赞
Buildbot 中的每个步骤都作为状态返回SUCCESS, WARNINGS, SKIPPED, FAILURE, CANCELLED, EXCEPTION,RETRY
因此,如果MyCoolStep有效,它将构建状态设置为SUCCESS,您可以检查CommitWork它以执行它。
因为RollbackWorkflow您可以检查构建是否处于FAILURE状态并执行它。由于CommitWork在此状态下被跳过,整体状态不会升级到SKIPPED
如果两个步骤都被隐藏,SKIPPED那么它们在不执行时不会污染 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)
添加回答
举报