如何设置buildbot

时间:2013-11-06 12:12:11

标签: python git dependencies buildbot

我是buildbot的新手并且正在努力为以下python代码结构创建配置:

包含一些通用类和函数的库以及依赖于一个库的两个程序。这三个都有自己的git存储库。让我们调用库the_lib以及程序prog_aprog_b

我希望buildbot为我做的是定期检查存储库是否有变化,如果是,则重建必要的内容。因此,对the_lib来源的更改应重建所有三个,对prog_a来源的更改应仅重建prog_a,并且只应更改prog_b的来源重建prog_b

当我的源代码发生变化时,我能够构建三者中的任何一个但是如何在prog_a上引入prog_bthe_lib的de依赖?

干杯, 哇

2 个答案:

答案 0 :(得分:0)

您可以使用单个源更改触发多个构建器,在以下示例中,前两个每个都触发自己的构建,但第三个触发所有三个:

  yield basic.AnyBranchScheduler(
            name = prog_a, treeStableTimer=delay,
            change_filter = my_a_filter,
            builderNames = [prog_a],
            )

  yield basic.AnyBranchScheduler(
            name = prog_b, treeStableTimer=delay,
            change_filter = my_b_filter,
            builderNames = [prog_b],
            )

  yield basic.AnyBranchScheduler(
            name = the_lib, treeStableTimer=delay,
            change_filter = my_lib_filter,
            builderNames = [prog_a, prog_b, the_lib],
            )

答案 1 :(得分:0)

对于prog_(a|b)中的更改,您可以使用一个简单的single branch scheduler来调用其构建器。

对于the_lib,您有两种选择:

  1. prog_aprog_b的构建器创建Dependant调度程序,并将上游调度程序设置为the_lib的单分支调度程序。
  2. 配置prog_(a|b)一个Triggerable计划程序,并使用the_lib构建器中的Trigger构建步骤触发它们。