BuildBot 中的条件步骤

我正在尝试使用条件步骤使用 BuildBot 创建构建配置。特别是,我希望根据前面的步骤是否失败来制定条件步骤,如下所示:


factory = util.BuildFactory()

factory.addStep(MyCoolStep())

factory.addStep(CommitWork(), doStepIf='MyCoolStepWorked')

factory.addStep(RollbackWork(), doStepIf='MyCoolStepFailed')

根据文档,“doStepIf”采用布尔限定符。如何访问上一步的结果?还是我需要在某处设置自定义属性?我对 Python 有点陌生,所以我不确定 buildbot 主配置中各种变量和对象的范围。


Smart猫小萌
浏览 125回答 1
1回答

侃侃无极

Buildbot 中的每个步骤都作为状态返回SUCCESS, WARNINGS, SKIPPED, FAILURE, CANCELLED, EXCEPTION,RETRY因此,如果MyCoolStep有效,它将构建状态设置为SUCCESS,您可以检查CommitWork它以执行它。因为RollbackWorkflow您可以检查构建是否处于FAILURE状态并执行它。由于CommitWork在此状态下被跳过,整体状态不会升级到SKIPPED如果两个步骤都被隐藏,SKIPPED那么它们在不执行时不会污染 buildbot 输出。def success(build):  return build.getStatus() == SUCCESSdef failure(build):  return build.getStatus() == FAILUREdef skipped(results, build):  return results == SKIPPEDfactory = util.BuildFactory()factory.addStep(MyCoolStep())factory.addStep(CommitWork(), doStepIf=success, hideStepIf=skipped)factory.addStep(RollbackWork(), doStepIf=failure, hideStepIf=skipped)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python