Hi,

*Sorry if you've al;ready been emailed this, but I got delivery failure 
notifications when emailing from work*

We have been using Jenkins for a while now (nearly two years) and have come 
up against a problem. We need to run unit tests on Multiple OSs and against 
multiple resources. We also need to lock each of those resources while they 
are in use and not let other jobs use them. Our jobs currently look as 
Follows:

Job1: RHEL6
Gen1
Gen2
Gen3

Job2: RHEL5
Gen1
Gen2
Gen3
Job3: Windows
Gen1
Gen2
Gen3

These jobs currently run sequentially (Job1 -> Job2 -> Job3) and take 9 
hours to complete an hour each job Generation in each job. If we could 
combine them into one Matrix job and setup the following:
|                    |       Operating Systems      |
|                    |    X     |    X    |    X    |
|    Generations     |    X     |    X    |    X    |
|                    |    X     |    X    |    X    |

And could also configure the Jenkins to lock a resource (Gen 1, Gen 2 and 
Gen3) then we should be able to cut down the job time significantly (in 
theory to 3 hours).

As such we have looked into the following plugins that we thought could 
help us:
Throttle Concurrent Jobs:
We found that this worked at the child level, there is a fix for this: 
https://issues.jenkins-ci.org/browse/JENKINS-12240 but even then this does 
not fix our problem (as we add one Category Name per matrix job and this 
applied to all child jobs).

External Resource Dispatcher:
                We found this had the same problem a above (the Resource is 
assigned to all the children and there is no way to define which child uses 
which resource).

Seeing as none of these seem to fit what we are trying to do we were 
thinking of add the concept of a that can be managed in a similar way to 
nodes (Manage Jenkins -> Manage Resource -> add/Configure Resource). This 
would allow people to set labels, names and Number of Executors. The we 
could add an Axis to Matrix Jobs (e.g. ‘Resources’) to allow people to 
select a group of slaves and a groups of resources in their jobs.

We think this would give us the functionality we want in an easy to use 
fashion. 

Please let us know what you think. Any advice on best practices or things 
to avoid would be greatly appreciated.

Cheers,
Tim

P.S. I am hoping to draw up a diagram of the structure we are going for 
when I get more familiar with Jenkins :)

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to