Azure管道-将自定义变量设置为内部版本号

问题描述 投票:0回答:1

在我的Azure生成管道(传统的,不是YAML)中,我将内部版本号设置为分支名称,然后是修订号变量。这是我的过程:管道->管道-> {我的管道}->编辑->选项->内部编号格式

$(SourceBranchName)$(Rev:.r)

在我的测试中,效果很好。

现在,在我的发布管道中,我运行的第一个脚本是一个PowerShell脚本,该脚本采用内部版本号,并将其应用于我创建的本地变量(MyBuild)。脚本如下:

Write-Host "Pipeline = $($pipeline | ConvertTo-Json -Depth 100)"
$buildNumber = $Env:BUILD_BUILDNUMBER
$pipeline.variables.MyBuild.value = $buildNumber

此变量稍后在管道中使用,以创建一个存放我的发行文件的文件夹。

$(BuildDirectory)/$(MyBuild)/Debug

出于某种原因,我的变量总是落后一个。例如,如果我的内部版本号是master.5,则由我的发布管道创建的文件夹是master.4。我试图更改脚本在管道中的顺序,但这并不能解决任何问题。这很奇怪,因为我的构建管道是正确的(总是正确命名,例如master.1,master.2,master.3等),但是我的Release Pipeline变量总是落后一个版本。

azure powershell azure-devops azure-pipelines-release-pipeline
1个回答
0
投票

Powershell脚本更新自定义内部版本号

- powershell: |
[string]$version="$(Build.Repository.Name)_SomeCustomData_$(Build.BuildId)"
Write-Output "##vso[build.updatebuildnumber]$(Version)"
displayName: Set Build Number
© www.soinside.com 2019 - 2024. All rights reserved.