我正在使用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" 
  } 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!