Buildbot可触发调度程序和工作目录关系

时间:2017-01-26 23:20:55

标签: buildbot

尝试在buildbot 9(0.9.1)中设置可触发调度程序,但我认为我误解了它应该如何工作。 我有两个建设者:

  • CompilerBuilder
  • PackageBuilder

CompilerBuilder的最后一步是触发步骤:

steps.Trigger (schedulerNames=['package'],
               waitForFinish=True)

主配置文件具有可触发的调度程序:

c['schedulers'].append(schedulers.Triggerable(
    name="package", 
    builderNames=['package']))

我想达到什么/期望

  • SingleBranch Scheduler启动CompilerBuilder
  • 当CompilerBuilder到达最后一步时,会触发PackageBuilder,因此打包了新编译的软件。

真正发生的事情

  • SingleBranch Scheduler启动CompilerBuilder
  • 当CompilerBuilder到达最后一步时,将触发PackageBuilder

...到目前为止一切都那么好,不幸的是,PackageBuilder是在一个不同的工作目录中启动的,这个目录已经检出并编译了代码,因此包创建过程失败了。

我的理解是,“触发”构建器将在“调用”构建器的同一工作目录中运行,但我认为我不了解如何正确配置构建器/调度程序正确。

任何提示?

1 个答案:

答案 0 :(得分:1)

Unfortunately, each builder has it own working directory. I recommend using addSteps (not addStep) with a list of package steps as part of the single branch scheduler builder. If you don't always want to package, add a doStepIf with some additional logic.