代码之家  ›  专栏  ›  技术社区  ›  Hans

VSTS:无法更改版本中用户定义变量的值

  •  1
  • Hans  · 技术社区  · 6 年前

    所以,我创建了变量 柜台 初始值为1。

    enter image description here

    然后在 释放 ,我尝试使用Powershell脚本将其值更改为1:

    enter image description here

    但值没有改变: enter image description here

    然而,我在一个 建筑 这一切都如期而至。我错过什么了吗?

    2 回复  |  直到 6 年前
        1
  •  2
  •   starian chen-MSFT    6 年前

    代替 Write-Host "##vso[task.setvariable variable="counter"] 1" Write-Host "##vso[task.setvariable variable=counter] 1" (远程双引号来自 "counter" )

        2
  •  1
  •   bergmeister    6 年前

    此命令的目的是设置跨任务持久化的变量。因此,它只能保证在您运行的下一个PowerShell任务中可用,因为它可能需要一点时间才能生效(您在构建中可能很幸运,但实际上这是一个竞争条件)。 文档 here 支持您应该在自己的任务中定义变量,然后再使用它们:

    在taskcontext的变量服务中设置变量。第一个任务可以设置变量,后面的任务可以使用该变量。该变量作为环境变量公开给以下任务。当issecret设置为true时,变量的值将保存为secret并从日志中屏蔽。机密变量不能作为环境变量传递到任务中,必须作为输入传递。