【问题标题】:I'm trying to update a pipeline variable in azure devops with another variable. But I'm not sure how to do this exactly我正在尝试使用另一个变量更新 azure devops 中的管道变量。但我不确定如何做到这一点
【发布时间】:2022-01-11 02:49:45
【问题描述】:

我正在从 .json 文件中读取一个值并将其存储在一个变量中。然后将此值更新为管道变量。

$data = (Get-content -Path("C:/Desktop/file.json")).androidVersionName |Out-String

在上面的cmd中,我是从file.son中读取androidVersionName的数据,并将其转换为字符串数据类型

Write-Host "##vso[task.setVariable variable=version;]$data"

在上面的 cmd 中,我将管道变量 version 的值设置为 data 中可用的值。但是该值在 azure 的 powershell 任务中没有得到更新。请帮忙。我正在尝试将其用于发布管道 CD

尝试了 cmets 部分中建议的不同方法。不知道为什么它没有在管道变量部分更新。访问会有什么问题吗?或者如果我添加变量组并使用它会起作用吗?

【问题讨论】:

  • 您是否阅读过 Microsoft 网站上的在脚本中设置变量? docs.microsoft.com/en-us/azure/devops/pipelines/process/…>

标签: powershell azure-devops azure-pipelines azure-pipelines-release-pipeline azure-api-apps


【解决方案1】:

你能检查一下这条线吗?

Write-Host "##vso[task.setVariable.variable=version;]data"

根据文档,您应该使用task.setVariable variable=version 而不是task.setVariable.variable=versionSet variables in scripts

例子:

Write-Host "##vso[task.setvariable variable=sauce]crushed tomatoes"
Write-Host "##vso[task.setvariable variable=secret.Sauce;issecret=true]crushed tomatoes with garlic"
Write-Host "##vso[task.setvariable variable=myOutputVar;isOutput=true]this is the value"

另外,检查你的Get-Content,你应该转换你的json字符串.....作为例子

$data = Get-content -Path "C:/Desktop/file.json" | ConvertFrom-Json
$version = $data.androidVersionName

Write-Host "##vso[task.setVariable variable=version]$version"

【讨论】:

  • 是的,抱歉。我的错。也这样做了。还是不能更新
  • @Mitsuhaki,检查你的文件阅读,我已经更新了我的答案。
  • 也试过这个@Shamrai Aleksander。仍然没有运气。访问会有什么问题吗?或者我可以使用变量组来解决这个问题吗?
  • @Mitsuhaki,能分享一下C:/Desktop/file.json的内容吗?
  • @Mitsuhaki,这不是 json 格式。你必须使用{"androidVersionName" : "12.5"}。在您的情况下,您将收到异常:ConvertFrom-Json : Invalid JSON primitive: "12.5"
【解决方案2】:

echo "##vso[task.setvariable variable=myvar]Get-content -Path("C:/Desktop/file.json").androidVersionName |Out-String" --> 尝试了这段代码,它的工作方式就像魅力

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-23
    • 2020-07-24
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 2023-02-09
    • 2021-09-30
    • 1970-01-01
    相关资源
    最近更新 更多