BuildBot 中的条件步骤
Conditional steps in BuildBot
我正在尝试使用条件步骤使用 BuildBot 创建构建配置。特别是,我想根据前面的步骤是否失败来执行条件步骤,如下所示:
factory = util.BuildFactory()
factory.addStep(MyCoolStep())
factory.addStep(CommitWork(), doStepIf='MyCoolStepWorked')
factory.addStep(RollbackWork(), doStepIf='MyCoolStepFailed')
根据文档,'doStepIf' 采用布尔限定符。如何访问上一步的结果?或者我需要在某处设置自定义 属性 吗?我对 Python 有点陌生,所以我不确定 buildbot 主配置中各种变量和对象的范围。
Buildbot returns 中的每个步骤作为状态 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)
我正在尝试使用条件步骤使用 BuildBot 创建构建配置。特别是,我想根据前面的步骤是否失败来执行条件步骤,如下所示:
factory = util.BuildFactory()
factory.addStep(MyCoolStep())
factory.addStep(CommitWork(), doStepIf='MyCoolStepWorked')
factory.addStep(RollbackWork(), doStepIf='MyCoolStepFailed')
根据文档,'doStepIf' 采用布尔限定符。如何访问上一步的结果?或者我需要在某处设置自定义 属性 吗?我对 Python 有点陌生,所以我不确定 buildbot 主配置中各种变量和对象的范围。
Buildbot returns 中的每个步骤作为状态 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)