经典发布管道可引用$(Build.BuildNumber),YAML管道引用失败求助
在YAML发布管道中引用外部构建管道的BuildNumber
问题原因
在经典发布管道中,$(Build.BuildNumber)会自动映射为关联构建的编号,但在YAML发布管道中,这个变量默认指向发布管道自身的运行编号,而非你通过resources.pipelines引用的外部构建管道的编号。你提到的_HotfixRepo是仓库资源的别名,并非可直接调用的变量,所以会出现未识别的错误。
正确的变量引用方式
对于你定义的_HotfixBuild构建资源,需要使用资源专属的变量格式来获取它的BuildNumber:
$buildName = "$(resources.pipeline._HotfixBuild.buildNumber)" $hotfixName = $buildName.Split(".")[0]
可选:通过环境变量注入(更稳妥的脚本传递方式)
如果你的PowerShell脚本是独立文件,或者需要更明确的变量传递,可以在YAML步骤中通过env字段将资源变量注入为环境变量:
steps: - powershell: | $buildName = "$env:HOTFIX_BUILD_NUMBER" $hotfixName = $buildName.Split(".")[0] Write-Host "提取的Hotfix名称:$hotfixName" env: HOTFIX_BUILD_NUMBER: $(resources.pipeline._HotfixBuild.buildNumber)
关于_HotfixRepo的说明
_HotfixRepo是你定义的Git仓库资源的别名,它的作用是在管道中指定要拉取的代码仓库(比如使用checkout: _HotfixRepo步骤),并不能用来获取构建编号,构建编号的变量仅来自你引用的_HotfixBuild管道资源。
内容的提问来源于stack exchange,提问作者Anonymous Person
相关产品推荐
相关产品推荐

