如何在发布管道任务中获取Release number以创建唯一Git分支?
搞定发布管道里拿Release编号创建唯一Git分支的问题
直接拿目标编号的最简方式
- 发布管道里内置了
$(Release.ReleaseId)变量,就是你要的那个数字(比如你图里的95),直接拿来当分支名就行,比如分支名设成release/$(Release.ReleaseId),每次发布都是唯一的。 - 如果你的Release Number是带前缀的格式(比如
v2.3.95),就用$(Release.ReleaseName)变量,再用脚本提取数字:
比如PowerShell脚本:
之后就可以用# 从ReleaseName里拆出最后一段数字 $releaseNum = ($env:RELEASE_RELEASENAME -split '\.')[-1] # 把提取到的数字存成新变量,后续任务能用 Write-Host "##vso[task.setvariable variable=ReleaseNum;]$releaseNum"$(ReleaseNum)来命名分支。
为什么$(Rev:rrr)没用?
$(Rev:rrr)是Build管道专属的修订号变量,发布管道根本不支持这个,所以用了也白搭。要是想用计数器的话,换个方式:- 建个变量组,加个变量(比如叫
ReleaseCounter),类型选计数器,起始值设1,步长1。 - 发布管道里引用这个变量组,直接用
$(ReleaseCounter)当分支名的一部分,每次发布自动涨数。
- 建个变量组,加个变量(比如叫
实操示例:用ReleaseId创建分支的PowerShell任务
# 定义分支名 $branchName = "release/$(Release.ReleaseId)" # 切分支并推送到远程 git checkout -b $branchName git push origin $branchName
内容的提问来源于stack exchange,提问作者RNA
相关产品推荐
相关产品推荐

