为具有钻石依赖项的构建器配置 buildbot

Configure buildbot for builders with diamond dependencies

比如说,我有一个项目有 4 个不同的工作(建设者):

  1. 图书馆
  2. 二进制 A(依赖库)
  3. 二进制 B(依赖库)
  4. 包(依赖二进制A和二进制B)

我想使用 BuildBot 设置持续集成。目前,我使用 Triggerable 调度程序在重建库后触发二进制 A 和二进制 B 构建。同时 Triggerables 用于在重建二进制文件 A 或二进制文件 B 后触发包构建。

在对二进制 A 或二进制 B 进行更改的情况下,此设置可以正常工作。但是当对库进行更改时,我已经触发了二进制 A 和二进制 B 的构建。它们中的每一个都会触发包重建,结果包被重建了两次。有没有办法在 Buildbot 中解决这个问题?

换句话说,我希望在重建二进制文件 A 和二进制文件 B 后只重建一次包。

您可以创建一个 Builder 来依次检出和构建所有 4 个东西。