![](/img/trans.png)
[英]TeamCity Kotlin DSL: how to access agent configuration parameters from an external powershell script
[英]TeamCity not recognizing configuration parameters
我写过这个剧本
$xml = New-Object XML
$xml.Load(".\build\DashboardUITests.dll.config")
$xml.configuration.appSettings.add |Where-Object {$_.key -eq 'Browser'}|% {$_.value = '%Config_Browser%'}
$xml.configuration.appSettings.add |Where-Object {$_.key -eq 'Environment'}|% {$_.value = '%Config_Enviroment%'}
$xml.configuration.appSettings.add |Where-Object {$_.key -eq 'baseUrl'}|% {$_.value = '%Config_URL%'}
$xml.Save(".\build\DashboardUITests.dll.config")
并在我正在使用的构建配置中创建了这三个构建参数。
Config_Browser = googlechrome
Config_Enviroment = MyEnviroment
Config_URL = BigUrl
目前,脚本将在dll.config中显示类似的内容
<add key="browser" value="%Config_Browser%" />
根据TC文档,Config参数不需要前缀
“配置参数(无前缀)不会传递到构建中,只是为了在构建配置中共享设置。它们是自定义基于模板或使用元运行器的构建配置的主要方法。”
出于某种原因,我的脚本只有在我用另一个“%”作为前缀时才识别这些参数
$xml.configuration.appSettings.add |Where-Object {$_.key -eq 'Browser'}|% {$_.value = '%%Config_Browser%'}
会在dll.config中显示类似的内容
<add key="browser" value="%%googlechrome%" />
为什么我的脚本无法识别我创建的参数?
我敢打赌powershell管道导致问题,因为它也使用%字符。 我会尝试用foreach
替换这个别名,而build config参数替换应该按预期工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.