我是buildbot的新手并且正在努力为以下python代码结构创建配置:
包含一些通用类和函数的库以及依赖于一个库的两个程序。这三个都有自己的git存储库。让我们调用库the_lib
以及程序prog_a
和prog_b
。
我希望buildbot
为我做的是定期检查存储库是否有变化,如果是,则重建必要的内容。因此,对the_lib
来源的更改应重建所有三个,对prog_a
来源的更改应仅重建prog_a
,并且只应更改prog_b
的来源重建prog_b
。
当我的源代码发生变化时,我能够构建三者中的任何一个但是如何在prog_a
上引入prog_b
和the_lib
的de依赖?
干杯, 哇
答案 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
,您有两种选择:
prog_a
和prog_b
的构建器创建Dependant调度程序,并将上游调度程序设置为the_lib
的单分支调度程序。prog_(a|b)
一个Triggerable计划程序,并使用the_lib
构建器中的Trigger构建步骤触发它们。