我需要在构建一些分支时跳过构建步骤。
更确切地说,我只想在源树上存在要运行的脚本时才执行ShellCommand
步骤。
我试过了:
ShellCommand(command=["myscript"],
workdir="path/to",
doStepIf=(lambda step: os.path.isfile("path/to/myscript")))
但该步骤永远不会执行。
答案 0 :(得分:2)
更好的做法是在上一步中设置属性,然后检查doStepif方法中的属性。你有的os.path.isfile在配置时运行,(buildbot startup)没有运行时间。
答案 1 :(得分:2)
BindingList
答案 2 :(得分:0)
我最后通过让步骤无条件地运行但设置haltOnFailure=False
来解决这个问题。这样,如果所需的文件不存在,它就会失败,但不会杀死其余的构建。
答案 3 :(得分:-4)
在步骤之前使用简单的python if语句:
if(condition):
your buildbot step