为了账号安全,请及时绑定邮箱和手机立即绑定

BuildBot 中的条件步骤

BuildBot 中的条件步骤

Smart猫小萌 2022-11-01 14:13:43
我正在尝试使用条件步骤使用 BuildBot 创建构建配置。特别是,我希望根据前面的步骤是否失败来制定条件步骤,如下所示:factory = util.BuildFactory()factory.addStep(MyCoolStep())factory.addStep(CommitWork(), doStepIf='MyCoolStepWorked')factory.addStep(RollbackWork(), doStepIf='MyCoolStepFailed')根据文档,“doStepIf”采用布尔限定符。如何访问上一步的结果?还是我需要在某处设置自定义属性?我对 Python 有点陌生,所以我不确定 buildbot 主配置中各种变量和对象的范围。
查看完整描述

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)


查看完整回答
反对 回复 2022-11-01
  • 1 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号