我正在使用azure-devops管道,但是在设置构建名称时遇到了问题。
这是一个普通的构建定义。
pool:
vmImage: 'VS2017-Win2016'
name: myBuildName
steps:
- task: NuGetToolInstaller@0
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
我想做的是通过条件检查来设置名称。如果(某物)则X否则Y
我已经检查了conditional文件,但是没有运气。
这是我想做的,但是显然行不通
# if ReleaseNumber var exists
if ($(ReleaseNumber))
name: $(ReleaseNumber).$(Build.BuildId)
else
name: $(date:yyyyMMdd)$(rev:.r)
最佳答案
Azure DevOps YAML不支持您尝试执行的值中的条件。
您查找的条件文档用于执行作业/任务,您可以指定何时以自定义条件执行任务。
在解决方法中,您可以添加一个PowerShell任务,该任务将根据您的条件更新内部版本名称。
例如,将$(date:yyyyMMdd)$(rev:.r)
保留在名称中,并在构建过程中运行以下脚本:
if ($env:ReleaseNumber){
Write-Host "##vso[build.updatebuildnumber]$env:ReleaseNumber.$env:Build_BuildId"
}
else{
Write-Host "Release Number not exist, build name not changed"
}
关于azure-devops - Azure devops管道条件名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54213174/