Azure DevOps如何获取自定义内部版本号格式到YAML构建管道?

时间:2018-12-26 16:02:10

标签: azure azure-devops

我有一个内部版本号格式“ $(BuildDefinitionName)-$(Rev:.r)”,可以将其放入可视设计器选项中,并且效果很好。但是,现在我想开始使用新的YAML构建管道,但是我不知道如何将这种自定义内部版本号格式与“替换令牌”任务一起使用。

3 个答案:

答案 0 :(得分:5)

除了选择的答案之外,您还可以使用以下功能来应用自定义内部版本号

steps:
  - script: echo "##vso[build.updatebuildnumber]$(CustomValue)"

如此处所述:Azure DevOps Logging Commands

我发现这对我的情况很有帮助,我想从二进制文件中读取语义版本并将其应用于构建名称。

答案 1 :(得分:2)

似乎“某些变量是系统自动插入的”。这些预定义的变量可以从https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=vsts中找到。就我而言,我可以使用

name: $(BuildDefinitionName)-$(Rev:.r)
resources:
- repo: self
queue:
name: Hosted VS2017
variables:
testing: $(Build.BuildNumber)

steps:
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: testing'
inputs:
PathtoPublish: Testing

ArtifactName: Testing

作为我的构建YAML。

答案 2 :(得分:-2)

内部版本号尚未以yaml格式公开。

您可以在构建过程中使用PowerShell步骤并执行vso command

更新内部版本号。
##vso[task.setvariable variable=variableName]variableValue

将变量名称替换为build.buildnumber,将值替换为您要使用的数字。

或者您可以使用AzurePipelinesPS使用Get-APBuildDefinition和Publish-APBuildDefinition命令更新内部版本定义的内部版本号格式。