Teamcity 在命令行脚本中获取多个配置值

Teamcity 在命令行脚本中获取多个配置值,teamcity,Teamcity,使用TeamCity 9.1.4 我正在尝试使用配置参数将一些服务器主机名放入命令行脚本中。我希望每个选项都包含多个主机名 我的配置: vanmain => rad-ecr1,rad-ecr2,rad-ecr3,rad-myecr,rad-balancer tor => rad2-bal,rad2-ecr1,rad2-ecr2,rad2-myecr fvcdc => rad-fvcdc,rad-balancer bccfa => rad-bccfa 在生成中选择fvcd

使用TeamCity 9.1.4

我正在尝试使用配置参数将一些服务器主机名放入命令行脚本中。我希望每个选项都包含多个主机名

我的配置:

vanmain => rad-ecr1,rad-ecr2,rad-ecr3,rad-myecr,rad-balancer
tor => rad2-bal,rad2-ecr1,rad2-ecr2,rad2-myecr
fvcdc => rad-fvcdc,rad-balancer
bccfa => rad-bccfa
在生成中选择fvcdc时,我收到以下错误消息:

输入的一个值“rad FVCC”不是有效的选择项值之一:rad-ecr1、rad-ecr2、rad-ecr3、rad迈科、rad平衡器、rad2 bal、rad2-ecr1、rad2-ecr2、rad2迈科、rad FVCC、rad平衡器、rad bccfa


如何将值输入到脚本中?

看看这个线程:-看起来与您的问题非常相似。

Dunkan, 我成功地复制了您的问题,并找到了问题的根源。 在我的虚拟安装中,我使用select type参数创建了一个构建,我们将其命名为HostValue。接下来,在Items字段中,我复制/粘贴了您最初发布的内容中的值,并试图重现问题,但执行构建成功。然后我决定重新配置参数,并切换“允许多个”复选框和“viola”,和您得到的错误消息相同! 若您阅读了值分隔符字段下方的小文本,您将看到,默认值为逗号:,并且由于您的值包含此符号,所以出现了一个错误

因此,为了解决这个问题,我可以建议您使用以下变体:

如果你不需要多选,你可以关掉这个功能,一切都会正常的。 例如,将默认值分隔符替换为自定义值分隔符。然后,无论何时为该参数选择多个值,都会得到如下结果: rad-ecr1、rad-ecr2、rad-ecr3、rad-myecr、rad-bal、rad2-ecr1、rad2-ecr2、rad2-myecrrad fvcdc、rad-balancer

将值中的逗号替换为其他分隔符,例如|或:。在这种情况下,它看起来像: rad-ecr1:rad-ecr2:rad-ecr3:rad-myecr:rad平衡器,rad-fvcdc:rad平衡器

之后,您可以像往常一样使用此参数的值%HostValue%,并根据您选择的变量进行分析。 也许来自服务器的错误消息可以更清楚一点。希望它能帮助你


另外,我想向你推荐我的插件。它将允许您从外部web服务创建动态选择值。

不幸的是,没有。rad fvcdc位于其在错误消息中打印的有效选择值列表中。