azure-devops - Azure devops管道条件名称

标签 azure-devops azure-pipelines

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

相关文章:

PowerShell 任务不会使用 VSTS 任务组变量,但会使用 - 为什么?

azure-devops - 是否可以在不发布工件的情况下在 Azure Devops 中获得代码覆盖率?

visual-studio - 在池XXX中找不到满足以下需求的代理 : visualstudio although vs2022 community is installed

azure - 如何删除构建管道发布的工件?

Azure DevOps管道如何设置vcvars64.bat然后从批处理文件调用msbuild.exe?

c# - 使用 Azure Devops 部署一次性应用程序?

Azure Bicep 为 Azure 应用服务计划部署提供 InvalidTemplateDeployment 错误

azure-devops - Azure 管道 yaml 权限被拒绝

Azure DevOps 管道在 PR 完成时触发

azure - 让 Azure DevOps 审查 GitHub 拉取请求