哈德森只执行一项不平行的工作

时间:2011-02-18 22:33:16

标签: java continuous-integration maven hudson hudson-plugins

我们只用一个执行器进行哈德森设置。我们希望达到至少有2个执行者的程度。阻止我们这样做的问题是一项无法并行运行的工作。

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

A->B->C

在此流程中,B从oracle写入和删除数据。如果哈德森只设立一个分支,那我们很好。

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

A1->B1-C1

现在B和B1都在哈德逊盒子上运行的唯一的oracle实例中写入和删除数据,所以我们对任何数据搞砸都很谨慎,测试会使用这些数据。所以我们不希望有2个执行器用于hudson,这可能导致B和B1同时运行。

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

先谢谢

2 个答案:

答案 0 :(得分:1)

您可以做的是为每个不同的项目创建一个奴隶。你可以称他们为SlaveA,SlaveB和SlaveC。让它们全部在同一服务器(主哈德森服务器)上使用单个执行程序启动。

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

答案 1 :(得分:0)

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