I don't think matrix build would fit your need.

Here is the pattern I applied successfully to run this kind of job.

1. Install node label parameter plugin and trigger parametrized job plugin
2. Define a job to do the work on one node. Define a node parameter on this
job, this will allow to decide on which node it will run dynamically.
Enable concurrent builds for this job
3. Define a second job containing a single build step calling your first
job. Add a parameter factory and provide a label expression that covers all
the nodes that you need. Make sure your parameter name matches the name of
the parameter in your first job.

When launching your aggregator job it will actually loop on all nodes
matching your label expression and launch a run of your executor job for
each of your modes.

Voila!

Vincent
Le 11 janv. 2013 22:28, <org.jenkins...@io7m.com> a écrit :

> On Fri, 11 Jan 2013 21:38:04 +0100
> felix schwitzer <flx2...@yahoo.de> wrote:
> > For this we use simply a multi-configuration project.
>
> On Fri, 11 Jan 2013 19:35:42 -0000
> "KEVIN FLEMING (BLOOMBERG/ 731 LEXIN)" <kpflem...@bloomberg.net> wrote:
> > This is exactly what Matrix builds are designed for. You define one
> > job, with some number of axes in the matrix, and then corresponding
> > labels on your nodes (slaves) to execute the spawned jobs.
>
> OK, thanks.
>
> I guess I'm still not entirely clear on the necessary steps, having read
> as much documentation as I could find on multi-configuration projects.
>
> I started by labelling each node with relevant labels ("solaris",
> "linux", "x86_64", etc) and gave each node a "cluster" label. Then,
> I created a multi-configuration project and then added a "Label
> expression" axis, where the name is "cluster" and the label expression
> is also "cluster" (I realize those two aren't related).
>
> Then, I added a build step to build top-level Maven targets, and
> a post-build step to aggregate test results at the end. The Maven goal
> was set to "verify" (in order to build the project, run the unit tests,
> produce a package, and verify the package).
>
> Then, I brought three nodes online and triggered a build. Two of the
> nodes began building. The other node stayed idle.
>
> One of the two nodes finished much faster than the other, which looked
> rather suspicious. Checking the console log for that build showed that
> it simply checked out the source code from version control and declared
> success (whilst the other node checked out the source code and actually
> built it):
>
> Triggering cluster
> cluster completed with result SUCCESS
> Finished: SUCCESS
>
> Am I missing something incredibly obvious here?
>
> I'd obviously like *all* of the labelled nodes to run, and to actually
> build code as opposed to ... not.
>
> Regards,
> M
>

Reply via email to