我有许多 Teamcity 代理,其中一些位于偏远地区。
两个位置都有一个默认的应用服务器实例来测试客户端,但我们也有一些仅在这里运行的实验性应用服务器。
想要实验服务器的开发人员会设置构建参数experimental.server=SOMETHING
以告诉测试脚本使用该服务器。问题是,他们还必须选择本地构建池才能在对话中获得本地代理Run...
,而这很容易忘记(这就是为什么创建一整套重复的构建类型也行不通的原因)。
有没有办法在构建类型上设置代理要求,以便将只需要实验服务器的测试发送给本地代理?
我知道构建可以有 JAVA=1.7 或 JAVA=.* 的要求,以便选择具有正确或任何 SDK 的构建。
但似乎我需要将远程代理的属性设置为“^$”,将本地代理的属性设置为“.*”,并使 Teamcity 仅在构建属性与experimental.server
代理属性中的正则表达式匹配时使用远程代理supported.experiments
。
那可能吗?
答案1
https://youtrack.jetbrains.com/issue/TW-66331
Jetbrains 回复:
恐怕这是不可能的:代理是为某些构建配置选择的,而不是反之亦然。在构建配置的代理要求页面上,您可以定义代理运行特定构建配置应满足的要求。但是,您可以将项目分配给代理池。
在您的情况下,您可以创建一个继承所有必需构建模板的子项目,然后将该项目分配给您的实验代理池。
也就是说,请不要犹豫,在我们的公共错误跟踪器上提交新功能请求并询问您想要看到的功能。
此致