如何从Azure Devops Powershell YAML获取输出

时间:2019-04-10 16:59:01

标签: azure-devops azure-pipelines

我有一个Yaml管道,使用任务Azure Powershell Task https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-powershell?view=azure-devops

该脚本已经具有如下任务输出:

$output = ConvertTo-Json -InputObject @{
    resourceName = "aseName"
    resourceGroupName = "ResourceGroupName"
} -Compress

Write-Output "##vso[task.setvariable variable=output;]$output"

在后续任务中,在同一作业中。我需要将其用作{output.resourceName}。通常,从设计师那里可以以我想要的相同方式获得它。但是使用YAML,我无法弄清楚。

有指针吗?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

作为旁注,这可能会在将来节省其他时间。当您创建一个新阶段并要引用您的变量时,还应该在设置变量时添加“ isOutput = true”:

Write-Output "##vso[task.setvariable variable=output;isOutput=true]$output"

当在YAML中引用Output变量时,应这样调用该变量:

- stage: 
  displayName: someName
  variables: 
   output: $[stageDependencies.<stageName>.<jobName>.outputs['<stepname>.output']]
  jobs:
  - job: SomeName
    steps:
    - task: SomeTask