我的管道有一个队列时间变量,例如“ RunSystemTests”。可以在一个作业中修改这些变量,然后在同一阶段在下一个作业中访问修改后的变量。在我的实验中,似乎更改后的值不会反映在下一个作业中。我想念什么吗?
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
jobs:
- job: SetPipelineVariables
steps:
- checkout: none
- powershell: |
#RunSystemTests is a queue time variable
echo "##vso[task.setvariable variable=RunSystemTests]yes"
- powershell: |
Write-Host $(RunSystemTests)
- job: ShowPipelineVariables
dependsOn: SetPipelineVariables
steps:
- checkout: none
- powershell: |
Write-Host $(RunSystemTests)
答案 0 :(得分:1)
在我的实验中,似乎更改后的值没有 反映在下一份工作中。我想念什么吗?
您设置的变量是作业范围的变量。因此,其生命周期仅适用于当前作业1。我们无法在job2中访问它。有关作用域变量的更多详细信息,请参见here。
要实现所需的功能,可以参考Use outputs in a different job和Set a multi-job output variable。