在构建一些分支时,我需要跳过构建步骤。
更准确地说,我想执行一个 ShellCommand
仅当要运行的脚本存在于源代码树中时才执行 step。
我试过:
ShellCommand(command=["myscript"],
workdir="path/to",
doStepIf=(lambda step: os.path.isfile("path/to/myscript")))
但该步骤永远不会执行。
最佳答案
def doesMyCriticalFileExist(step):
if step.getProperty("myCriticalFileExists"):
return True
return False
<factory>.addStep(SetProperty(command='[ -f /path/to/myscript ] && ls -1 /path/to/myscript || exit 0', property='myCriticalFileExists')))
<factory>.addStep(ShellCommand(command=["myscript"], workdir="path/to", doStepIf=doesMyCriticalFileExist))
关于Buildbot:如果文件不存在,如何跳过一个步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28497714/