在Azure Devops管道中设置变量的问题

时间:2020-03-03 16:19:23

标签: powershell azure-devops

我在线上有一个Azure DevOps,并希望将Buildnumber设置为ImageTag变量,以便稍后将其用作docker映像的Image标签。为此,我在变量标签上创建了空变量ImageTag:

var

并添加PS脚本:

Write-Host "Buildnumber is $(Build.BuildNumber)"
$ImageTagVar = "$(Build.BuildNumber)"

Write-Host "##vso[task.setvariable variable=ImageTag;]$ImageTagVar"

Write-Host "Set environment variable to $env:ImageTag"
Write-Host "Set environment variable1 to $ImageTag"

enter image description here

问题在于$(Build.BuildNumber)中的内容不会传递给变量ImageTag:

log

谁能暗示我,我在Azure DevOps中做错了什么?

2 个答案:

答案 0 :(得分:1)

您将在构建管道的后续步骤中看到它:

  1. 构建定义中的步骤:

第1步

enter image description here

第2步

enter image description here

  1. 生成结果

第1步

enter image description here

第2步

enter image description here

答案 1 :(得分:1)

如果只想用buildNumber标记docker映像,则不需要定义ImageTag变量。您可以在docker build任务中直接使用$(Build.BuildNumber)。

enter image description here

如果必须定义ImageTag变量,则可以直接为其分配$(Build.BuildNumber)。

enter image description here