dynamically select the build agent based on a build parameter

Is this supported in some way?

I know that I can set a static requirement using the agent requirements section for example if os name contains windows, etc.

But how do I create a dynamic requirement for a single build configuration? Let's say I have a build parameter defined on the build config with 2  selectable list items 'A' and 'B'. Default is 'A', so build should routed to agents with 'A' defined somewhere (in their environment, whatever), but I want to route builds to agents that have 'B' defined if the user selects this option in the run dialog.

Currently I don't see any way to achieve this, only by creating two build configurations and hardcode the 'A' and 'B' requirements, respectively.

7 comments

I haven't tried it, and I'm not connected to the work network to give it a try, but can you put a parameter in that gets evaluated? So, the setting would look something along the lines of "system.agent.name contains BldSvr%value%". Though if that works then where you are going to set that parameter from is the next question.

0

Hi, thank you for your reply.

It does not work, I alrady tried. If i put something between percent signs as the value for the requirement it renders all agents incompatbile immediately.

0

Not currently, something I'd really like as we currently get around this by using the REST API to update the agent requirements directly.  I'd like to accomplish the same thing with properties by moving one project under a certain project node to another with a different agent property

Please vote here

http://youtrack.jetbrains.com/issue/TW-19877

0

Thanks! Could you tell me how do you do this currently using the REST api? when do you update the agent requirements?

0

The documentation isn't great but it's here http://confluence.jetbrains.com/display/TW/REST+API+Plugin#RESTAPIPlugin-Agents

I had trouble myself and asked on this post http://devnet.jetbrains.com/message/5463348#5463348

It's you still can't work it out let me know and I'll look it up when I'm in work again.

I don't have quite the same requirements as you where I only need to change the agent to ensure builds that are in UAT get assigned to a dedicated agent whereas Development builds have a lower priority and use another agent.

0

Please sign in to leave a comment.