On 5 December 2013 15:53, Les Mikesell <[email protected]> wrote:

> On Wed, Dec 4, 2013 at 11:50 PM, TigolB <[email protected]> wrote:
> > Hi all,
> >
> > Would someone please help me understand how the Master/Slave build
> process
> > works?  Basically I have a build process that compiles four flavors (x86
> > retail/debug and amd64 retail/debug).  So essentially I would have four
> > builds running on four separate machines simultaneously.  How do I go
> about
> > implementing this through Jenkins?
> >
> > - Do I need to create four separate jobs for each flavor to compile then
> > assign a specific slave node to each job?
> >
> > - Or can I create one job using the multi-configuration, passing in
> > different compiler flags to my batch file and let Jenkins handle the load
> > balancing to the slave nodes?
> >
> > Please let me know if you need more info and thank you for any input.
>
> First, if they can all be built by the same host/compiler you don't
> really need multiple nodes. It could just be multiple targets with
> different options in the same job - but that won't run them
> concurrently.  To run them on different nodes with different options,
> the best approach would be separate jobs.  Give each slave node one or
> more labels and use 'restrict where job can run' to tie each job to a
> particular label (you can use the node name, but labels are more
> flexible).  Multi-configuration jobs want to run exactly the same
> build command across all the targets.  You might be able to do
> something clever within a batch file or with the groovy plugin to
> figure out where each instance is running and change the options
> appropriately, but for a small number of targets it is probably easier
> to just create new jobs as copies of the initial version and edit the
> target label and build command.
>

Meh!

The Axes of a multi-configuration job are exported as environment variables.

So if you have an ARCH axis and you provide values of i386 x86_64 and arm
then ${ARCH} will evaluate to the corresponding value.

Then using a sparse matrix you can handle different slaves that can build
different arch subsets.

No fancy scripting required at all, you just make sure that the axes define
the correct target and rely on environment variable expansion.

Multi-config may be your friend


>
> --
>    Les Mikesell
>      [email protected]
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" 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.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" 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