如何在同一作业中的任务之间更改 YAML 变量的值

How to change the value of a YAML variable between tasks inside the same job

如何通过任务在YAML文件中设置YAML变量的新值,后续任务将使用powershell显示新值? (两个 任务在同一个作业中

我正在尝试使用以下代码,但 它不起作用。 second/subsequent 任务仍然获得初始值,即使第一个任务为该 YAML 变量设置了新值

stages:
  - stage: tst
    displayName: tst_stage

    jobs:
      - deployment: 
        displayName: 'test 1'
        environment: 'test 1'

        variables:
        - name: someName
          value: "someValue"

第一个任务set/update变量的值

- task: PowerShell@2
    name: "task1"
    displayName: this is task1
    inputs:

      targetType: 'inline'
      script: |
        $newValue = "ThisIsNewValue"
        echo "##vso[task.setvariable variable=someName;isOutput=true]$newValue"

第二个任务将显示具有新值的变量 :

- task: PowerShell@2
    name: "task2"
    displayName: this is task2
    inputs:

      targetType: 'inline'
      script: |
        echo "the new value of the variable is : $(someName)"

现在任务 2 的预期输出 应该是:

the new value of the variable is : ThisIsNewValue

但由于某种原因,我得到的实际输出是初始值:

the new value of the variable is : someValue

将这行代码更改为:

echo "##vso[task.setvariable variable=someName;isOutput=true]$newValue"

至:

Write-Host "##vso[task.setvariable variable=someName;]$newValue"