Hudson只执行一个作业非并行 [英] Hudson executing just one job non-parallel

查看:175
本文介绍了Hudson只执行一个作业非并行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个hudson设置只有一个执行者。我们想要达到一个点,我们可以有至少2个执行者。阻止我们这样做的问题是不能并行运行的工作。

We have a hudson setup with just one executor. we want to get to a point where we can have at least 2 executors. The problem that is stopping us from doing this is a job which cannot be run in parallel.

说明:
我们在hudson上配置了许多svn分支。特定分支的流程将如下所示:

Explanation: we have many svn branches configured on hudson. The flow for a particular branch will look like

A->B->C

在此流程中,B从oracle中写入和删除数据。我们是好的,如果只有一个分支设置在哈德逊。

In this flow, B writes and deletes data from oracle. we are good, if there is only one branch set up on hudson.

但是,我们在哈德森有很多svn分支。因此,可能有另一个分支与流

But, we have many svn branches on Hudson. So there could be a another branch with the flow

A1->B1-C1

现在,B和B1都可以从在hudson框中运行的只有oracle实例写入和删除数据,因此我们小心任何数据混乱,这将被测试使用。所以我们不想有两个hudson的执行者,这可能导致B和B1同时运行。

Now B and B1 both write and delete data from the only oracle instance running on the hudson box, so we are cautious about any data getting messed up, that would be used by the tests . So we don't want to have 2 executors for hudson, which could lead to B and B1 running at the same time.

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

So is there a solution to this problem? Can I configure Hudson, not to run B and B1 in parallel, otherwise run two jobs in parallel?

感谢提前

推荐答案

你可以做的是为每个不同的项目创建一个slave。你可以称它们为SlaveA,SlaveB和SlaveC。让它们都在同一个服务器(主要的哈德逊服务器)上与单个执行器启动。

What you can do is create a slave for each different project. You can call them SlaveA, SlaveB and SlaveC. Have them all launch on the same server (main hudson server) with a single executor.

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

Now for each branch that you have for A,A1,A2.. you can have them build only on SlaveA so that forces thread confinement between each project.

这篇关于Hudson只执行一个作业非并行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆