我已经创建了powershell脚本来更新json文件中的变量。Json文件位于Azure DevOps存储库中,文件名为var.json。
我将在Azure DevOps中使用此解决方案,因此我构建了管道并在Azure DevOps的变量选项卡中设置了测试变量:
在我的脚本中,我有param和variables块,如下所示:
管道在最后的状态是良好的,所有步骤都是绿色的,但是var.json文件没有按照我想要的更新。仍然存在旧值-->
param(
[Parameter (Mandatory=$true)]
[String] $FileRes
)
#env variable
$Path = $Env:BUILD_SOURCESDIRECTORY
# Download variables from Json file
$JsonBase = @()
$JsonPath = "$Path\Var.json"
$JsonBase = Get-Content $JsonPath | out-string | ConvertFrom-Json
$JsonBase.FileNames[0].value = $FileRes
在我的脚本中,我使用以下命令:$JsonBase | ConvertTo-Json | Set-Content -Path $JsonPath
来将输出导向JSON文件。
JSON文件结构:
{
"FileNames": [
{
"value": "AAAbbbccc123",
"value1": "www",
"value3": "swd",
"value4": "xvb"
}
]
}
管道在最后的状态是良好的,所有步骤都是绿色的,但是var.json文件没有按照我想要的更新。仍然存在旧值-->
"value": "AAAbbbccc123"
"test" | ConvertTo-Json | Set-Content -Path $JsonPath
,会发生什么? - Tomalak