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