gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 05:55:43 24 4
gpt4 key购买 nike

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

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

stages:
- stage: tst
displayName: tst_stage

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

variables:
- name: someName
value: "someValue"

设置/更新变量值的第一个任务:

- 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"

关于azure-devops - 如何在同一作业中的任务之间更改 YAML 变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69377952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com