Buildbot master.cfg取决于属性的条件

Mis*_*erJ 2 buildbot

在我的windows slave buildbot上,我遇到了一个非常慢的文件上传问题.例如,60Mb文件的文件上传大约需要2分钟,而同一网络上的相同zip只需要几秒钟.

为了解决这个问题,我考虑使用一个好的旧scp在Windows下上传我的文件,但我没有成功,因为我无法有条件地选择使用什么函数来上传文件给定属性我以前设定.

我想这样做

if(Interpolate("%(prop:osName)s")=='windows'):
    uploadWindows(args)
else:
    upload_file(args)
Run Code Online (Sandbox Code Playgroud)

但即使正确设置了osName属性,我也没有成功.

Pok*_*oko 7

Personnaly我使用doStepIf作为我的条件步骤.您只需要添加参数doStepIf = yourfunctionName

def yourfunctionName(step):
    if step.getProperty("buildslave") == "windows":
       return True
    return false

f.addStep(ShellCommand(command=WithProperties("scp"),
                      description=[""],
                      descriptionDone=["do my scp"],
                      doStepIf=yourfunctionName))
Run Code Online (Sandbox Code Playgroud)

在您的情况下,您将需要两个步骤来执行相同的操作.

你应该看看这里:http://docs.buildbot.net/latest/manual/cfg-buildsteps.html#buildstep-common-parameters

希望它可以帮助