Buildbot:如果文件不存在,如何跳过一个步骤?

时间:2015-02-13 10:41:52

标签: buildbot

我需要在构建一些分支时跳过构建步骤。

更确切地说,我只想在源树上存在要运行的脚本时才执行ShellCommand步骤。

我试过了:

ShellCommand(command=["myscript"],
             workdir="path/to",
             doStepIf=(lambda step: os.path.isfile("path/to/myscript")))

但该步骤永远不会执行。

4 个答案:

答案 0 :(得分:2)

更好的做法是在上一步中设置属性,然后检查doStepif方法中的属性。你有的os.path.isfile在配置时运行,(buildbot startup)没有运行时间。

答案 1 :(得分:2)

BindingList

答案 2 :(得分:0)

我最后通过让步骤无条件地运行但设置haltOnFailure=False来解决这个问题。这样,如果所需的文件不存在,它就会失败,但不会杀死其余的构建。

答案 3 :(得分:-4)

在步骤之前使用简单的python if语句:

if(condition):
  your buildbot step