VSTS:无法在发布中更改用户定义变量的值

时间:2018-03-02 05:43:36

标签: powershell azure-devops azure-pipelines azure-pipelines-release-pipeline

所以,我创建了变量 counter ,初始值为-1。

enter image description here

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

enter image description here

但价值没有改变: enter image description here

但是,我在 Build 中对此进行了测试,并且按预期工作。我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

  

在taskcontext的变量服务中设置变量。第一个任务可以设置变量,以下任务可以使用变量。变量作为环境变量暴露给以下任务。当issecret设置为true时,变量的值将保存为secret并从log中屏蔽掉。秘密变量不作为环境变量传递给任务,必须作为输入传递。