0

I have a number of Teamcity Agents, some in a remote location.

Both locations have a default app server instance to test clients against, but we also have some experimental app servers that only run here.

Developers wanting an experimental server set the build parameter experimental.server=SOMETHING to tell the test script to use that. The trouble is, they also have to select the local build pool to get a local agent in the Run... dialogue, and that's easy to forget (which is why creating a full set of duplicate build types doesn't work either).

Is there a way to set an Agent Requirement on the buildtypes to send tests wanting experimental servers only to local agents?

I know builds can have requirements for JAVA=1.7 or JAVA=.* to select those with the right, or with any, SDK.

But it seems like I need to set a remote agent's property to '^$' and a local agent's property to '.*', and make Teamcity only use remote agents if the build property experimental.server matches the regex in the agent's supported.experiments property.

Is that possible?

1 Answers1

0

https://youtrack.jetbrains.com/issue/TW-66331

Jetbrains replied:

I'm afraid it's not possible: agents are selected for certain build configurations and not vice versa. On agents requirements page of a build configuration, you can define requirements an agent should meet to run the particular build configuration. You can, however, assign projects to agent pools.

In your case, you can create a subproject that inherits all the required build templates and just assign this project to your experimental agent pool.

That said, don't hesitate to submit a new feature request on our public bug tracker and ask for the feature you want to see.

Best regards