Any way to parameterize node label

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Any way to parameterize node label

jrvilda
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Any way to parameterize node label

Sami Tikka
Hudson is not designed to work like that. You cannot specify build
steps inside a job to run on different nodes. The level at which you
can specify the node to run on is the job. You can assign jobs to run
on certain nodes and then all build steps of the job will run on that
node.

Maybe you can create more jobs, each job running only one task?

-- Sami

2010/11/25 Josu Rodriguez Vilda <[hidden email]>:

> Sorry for the translation (google languaje_tools)
>
> We have several tasks that we execute on different nodes for each run from
> different "teams." In addition a task takes several tasks to be run on
> different nodes.
>
> Example:
>
> job "test1"
> ---- "Task 1" in $ node
> ---- "Task rebot $ node" in Master
> ---- "Task 2 at $ node"
>
> What we are seeing is something like what it says on
> http://hudson.361315.n4.nabble.com/Any-way-to-parameterize-node-label-td2062757.html.
>
> How I can do?
>
> --
> Josu Rodriguez Vilda
>
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Any way to parameterize node label

Stefan Wolf
Hi,

We need a similar feature. We do deployment of application servers via
hudson. Right now we do this by having a
hudson slave on the corresponding server which does the deployment. So
if you want to deploy the application on two different servers then
you need two different hudson jobs, which is quite undesireable.

Would it be possible to use build parameters in the label expression
of the project? Then you could just use a regular parameterized build
to achieve this.

Another option would possibly be to add the option to run one
configuration of a matrix project instead of all of them. So you could
configure the label as a parameter-axis to the matrix build and then
choose the right parameter on deployment by say clicking on it.

-- wolfs

On 28 Nov., 11:48, Sami Tikka <[hidden email]> wrote:

> Hudson is not designed to work like that. You cannot specify build
> steps inside a job to run on different nodes. The level at which you
> can specify the node to run on is the job. You can assign jobs to run
> on certain nodes and then all build steps of the job will run on that
> node.
>
> Maybe you can create more jobs, each job running only one task?
>
> -- Sami
>
> 2010/11/25 Josu Rodriguez Vilda <[hidden email]>:
>
>
>
> > Sorry for the translation (google languaje_tools)
>
> > We have several tasks that we execute on different nodes for each run from
> > different "teams." In addition a task takes several tasks to be run on
> > different nodes.
>
> > Example:
>
> > job "test1"
> > ---- "Task 1" in $ node
> > ---- "Task rebot $ node" in Master
> > ---- "Task 2 at $ node"
>
> > What we are seeing is something like what it says on
> >http://hudson.361315.n4.nabble.com/Any-way-to-parameterize-node-label....
>
> > How I can do?
>
> > --
> > Josu Rodriguez Vilda
Reply | Threaded
Open this post in threaded view
|

Re: Any way to parameterize node label

Kaya Bekiroğlu
I would also like to parameterize the labels to support this workflow:

For each build, I would like to run one build job for every (os, compiler, 32/64, debug/release) tuple.  This is approximately fifty almost-identical jobs, so a parameterized build makes sense.  These jobs map to only a half-dozen build slaves, so it would be nice to pick a slave based on a parameterized label, but apparently build parameters in the “Label Expression” field are not expanded at runtime.

Is there a better way to accomplish my objective?

Best,
Kaya


Reply | Threaded
Open this post in threaded view
|

Re: Any way to parameterize node label

Stefan Wolf
@Kaya: Can't you accomplish this by using a multi-configuration
project (matrix project)?

On 15 Jan., 00:05, Kaya Bekiroğlu <[hidden email]> wrote:
> I would also like to parameterize the labels to support this workflow:
>
> For each build, I would like to run one build job for every (os, compiler, 32/64, debug/release) tuple.  This is approximately fifty almost-identical jobs, so a parameterized build makes sense.  These jobs map to only a half-dozen build slaves, so it would be nice to pick a slave based on a parameterized label, but apparently build parameters in the “Label Expression” field are not expanded at runtime.
>
> Is there a better way to accomplish my objective?
>
> Best,
> Kaya
Reply | Threaded
Open this post in threaded view
|

Re: Any way to parameterize node label

Kaya Bekiroğlu
On Jan 15, 2011, at 3:34 AM, Stefan Wolf wrote:
>
> @Kaya: Can't you accomplish this by using a multi-configuration
> project (matrix project)?

Hopefully I can in the future.  At present I’m blocked by a couple of bugs:

a)  Each configuration in the matrix is not available to the CMake build plugin.  For example, I could specify arch=(32|64) as an axis, but $arch is not expanded to the plugin before invocation.  Similarly, I’d like compiler=(gcc|clang|icc).  I had thought that this was a general problem, but it appears to be confined to the CMake plugin itself, so the solution may simply be to ditch the plugin and run a custom script.  Bug filed as http://issues.hudson-ci.org/browse/HUDSON-8538 

b)  Node selection fails if the number of slave labels used is greater than two.  Bug filed as http://issues.hudson-ci.org/browse/HUDSON-8537.

Taken together, the path of least resistance was to attempt to use parameterized node labels.

> On 15 Jan., 00:05, Kaya Bekiroğlu <[hidden email]> wrote:
>> I would also like to parameterize the labels to support this workflow:
>>
>> For each build, I would like to run one build job for every (os, compiler, 32/64, debug/release) tuple.  This is approximately fifty almost-identical jobs, so a parameterized build makes sense.  These jobs map to only a half-dozen build slaves, so it would be nice to pick a slave based on a parameterized label, but apparently build parameters in the “Label Expression” field are not expanded at runtime.
>>
>> Is there a better way to accomplish my objective?
>>
>> Best,
>> Kaya