我正在尝试使用powershell脚本
在TFS 2017中创建发布定义我正在运行一个powershell脚本,它必须找到一个setParameters.xml文件的路径,并且它假设过度使用所有令牌,但它只是忽略了循环并且参数保持不变。
脚本代码:
$vars = Get-ChildItem -path env:*
# read in the setParameters file
$contents = Get-Content -Path $paramsFilePath
# perform a regex replacement
$newContents = "";
$contents | % {
$line = $_
if ($_ -match "__(\w+)__") {
$setting = Get-ChildItem -path env:* | ? { $_.Name -eq $Matches[1] }
if ($setting) {
Write-Verbose -Verbose ("Replacing key {0} with value from environment" -f $setting.Name)
$line = $_ -replace "__(\w+)__", $setting.Value
}
}
$newContents += $line + [Environment]::NewLine
}
为什么循环被滑落,我怎么能修复它以便覆盖SetParameters.xml文件中的参数?
答案 0 :(得分:0)
对于那些感兴趣的人,我放弃了这个powershell并在Release定义中使用了Replace Token步骤。
我认为这是替换令牌的更有效方法