TeamCity将PowerShell参数视为字符串

时间:2018-02-06 22:45:04

标签: powershell teamcity

我的Root项目中有一个Build Configuration Template。

在“参数”部分中,我有以下3个配置参数:

deployment.username

deployment.password

deployment.destinationServer01

在“参数”部分中,我还有powershell.args01配置参数,其值为

-username %deployment.username% -password %deployment.password% -computer %deployment.destinationServer01%

在同一个模板中,我有一个" PowerShell"构建步骤,其中脚本参数部分如下所示:

脚本参数: %powershell.args01%

问题

我有3个继承自上述模板的构建配置。此设置适用于所有3种配置。今天,我正在复制其中一个配置,以创建一个继承自上述模板的第四个配置。突然之间,在这一行

-username %deployment.username% -password %deployment.password% -computer %deployment.destinationServer01%

%deployment.destinationServer01%不再被评估,只是作为%deployment.destinationServer01%传递给我的脚本,与其实际值相反。 %deployment.username%%deployment.password%的评估仍然合格。

我不知道要寻找什么差异,因为没有任何差异。这是在模板中定义的,从它继承的所有三个配置都可以正常工作。唯一的区别是这个第4个配置依赖于其他3个配置中的一个。但这涉及到玩神器。我不会改变脚本或参数。

1 个答案:

答案 0 :(得分:0)

以下是要检查的内容:

  • 第四个(新)构建配置是否也与同一个模板相关联?
  • 在模板或构建配置(或包含这些构建配置的项目)上定义了4个参数吗?
  • 第四个构建配置是否属于与三个相同的项目?
  • %deployment.destinationServer01%参数对第四个构建配置是否可见? (添加构建步骤并开始键入%deplo... - TC会自动完成吗?)

如果所有其他方法都失败了,请打开TC数据目录(通过登录服务器或在TC Admin GUI中浏览它 - 阅读here)并使用XML来区分工作配置的XML文件非工作第四个配置的文件。必须有所不同: - )