jobs:
# Set an output variable from job A
- job: A
steps:
- powershell: |
$image_infor=Invoke-WebRequest https://raw.githubusercontent.com/Sitecore/docker-images/master/tags/sitecore-tags.json ###json data
Write-Host $image_infor
Write-Host "##vso[task.setvariable variable=myOutput_currentDate;isoutput=true]$image_infor"
name: setvarStep
# Map the variable into job B
- job: B
dependsOn: A
variables:
myVarFromJobA: $[ dependencies.A.outputs['setvarStep.myOutput_currentDate'] ]
steps:
- powershell: |
Write-Host $myVarFromJobA.Name
这是我一直面临的问题。变量 $image_infor 的内容不会传递给第二个作业。它显示为空白,没有错误。因此,当我查看作业 A 的日志时,我实际上可以看到 $image_infor 的值,但它没有到达作业 B 。 请提供任何帮助。
期望在作业 B 中看到 json 值
有几点需要注意。
isoutput
应该是isOutput
$myVarFromJobA.Name
应该是$(myVarFromJobA)
我编写了一个具有很小 json 数据大小的示例。
jobs:
# Set an output variable from job A
- job: A
steps:
- powershell: |
$image_infor = Invoke-WebRequest https://raw.githubusercontent.com/Azure/azure-quickstart-templates/a743b015cc57a8a98d92e9c2743e52715d020258/demos/backup-la-reporting/prereqs/prereq.azuredeploy.json ###json data
Write-Host "sample input is: $image_infor"
$iamge_info_string = $image_infor.Content | ConvertTo-Json -Depth 5
Write-Host "sample input is: $iamge_info_string"
Write-Host "##vso[task.setvariable variable=myOutput_currentDate;isOutput=true]$iamge_info_string"
name: setvarStep
# Map the variable into job B
- job: B
dependsOn: A
variables:
myVarFromJobA: $[ dependencies.A.outputs['setvarStep.myOutput_currentDate'] ]
steps:
- powershell: |
Write-Host "sample result is: $(myVarFromJobA)"