6

我在 Jenkins 中配置了几个相互依赖的项目(使用“构建后”选项)。现在我希望每个项目在开始构建之前等待其所有依赖项完成。

例子:

Project: A
Project: B - Depencies: A
Project: C - Depencies: A, B

当我构建 A 时,将触发 B 和 C 的构建。但是,我希望 C 仅在 AB 完成构建后构建。相反,此时项目 C 将构建两次,一次在 A 完成后,第二次在 B 完成后。

如何配置 Jenkins 项目依赖项以实现此目的?

附言。

在任何人提到 Join 插件之前:我已经看过它并且不能说它是一个令人满意的解决方案。

4

2 回答 2

1

您可以使用JobFanIn 插件。这正是您所需要的

于 2016-03-14T06:57:02.317 回答
0

您可以使用DepBuilder 插件及其特定领域的语言来做到这一点。对于您的具体示例,构建脚本将如下所示:

// A, B and C are existing Jenkins jobs
A -> B
A -> C
B -> C

构建项目后,您应该能够看到构建可视化:

DepBuilder 插件构建可视化

如果任何上游项目(A,B)构建失败,则不会触发作业 C 的构建(但您可以为每个作业单独配置此行为)。有关所有可能功能的更多信息,请务必查看DepBuilder 文档

于 2021-03-06T11:07:33.087 回答