gpt4 book ai didi

powershell - TeamCity 无法识别配置参数

转载 作者:行者123 更新时间:2023-12-02 03:32:27 26 4
gpt4 key购买 nike

我写了这个脚本

$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 parameters required no prefix

“配置参数(无前缀)不会传递到构建中,仅用于在构建配置中共享设置。它们是自定义基于模板或使用元运行器的构建配置的主要方法”

出于某种原因,我的脚本仅在我用另一个“%”作为前缀时才能识别这些参数,例如

$xml.configuration.appSettings.add |Where-Object {$_.key -eq 'Browser'}|% {$_.value = '%%Config_Browser%'}

会在 dll.config 中显示类似这样的内容

<add key="browser" value="%%googlechrome%" />

为什么我的脚本无法识别我创建的参数?

最佳答案

我敢打赌是 powershell 管道导致了这个问题,因为它也使用了 % 字符。我会尝试用 foreach 替换此别名相反,构建配置参数替换应该按预期工作。

关于powershell - TeamCity 无法识别配置参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25809692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com