3

我们有一个只有一个执行者的哈德逊设置。我们希望达到至少可以有 2 个执行者的地步。阻止我们这样做的问题是一项不能并行运行的工作。

说明:我们在 hudson 上配置了许多 svn 分支。特定分支的流程看起来像

A->B->C

在这个流程中,B 从 oracle 中写入和删除数据。我们很好,如果哈德逊只有一个分支机构。

但是,我们在 Hudson 上有很多 svn 分支。所以可能会有另一个分支

A1->B1-C1

现在 B 和 B1 都在 hudson 盒子上运行的唯一 oracle 实例中写入和删除数据,所以我们要小心任何数据被弄乱,测试会使用这些数据。所以我们不希望 hudson 有 2 个执行器,这可能导致 B 和 B1 同时运行。

那么有没有办法解决这个问题呢?我可以配置 Hudson,不并行运行 B 和 B1,否则并行运行两个作业?

提前致谢

4

2 回答 2

1

您可以做的是为每个不同的项目创建一个从站。您可以称它们为 SlaveA、SlaveB 和 SlaveC。让它们都在同一个服务器(主 hudson 服务器)上使用一个执行器启动。

现在,对于 A、A1、A2 的每个分支,您可以让它们仅在 SlaveA 上构建,以便在每个项目之间强制执行线程限制。

于 2011-02-18T22:48:36.493 回答
0

检查 Throttle Concurrent Execution 插件。它似乎很适合您的用例。

于 2012-03-26T21:40:12.517 回答