如何在构建脚本中获取Agent/_work/后的文件夹编号作为变量?
获取Azure Pipelines工作文件夹编号的方法
Azure Pipelines没有预定义变量直接返回你提到的工作文件夹纯数字编号(比如路径里的47),但可以通过现有预定义变量结合脚本提取该值:
- 可用的基础预定义变量:
$(Agent.BuildDirectory):完整构建目录路径,格式类似D:\agent\_work\47\s$(System.DefaultWorkingDirectory):默认工作目录,路径结构和上面一致
PowerShell提取示例
# 从构建目录路径中拆分出数字编号 $dirParts = "$(Agent.BuildDirectory)" -split '_work\\|\\s' $workFolderNum = $dirParts[1] # 将编号设为管道变量,供后续步骤使用 Write-Host "##vso[task.setvariable variable=WorkFolderNumber;]$workFolderNum"
执行后,后续脚本就能用$(WorkFolderNumber)引用这个纯数字编号。
Bash提取示例
# 拆分路径获取编号 BUILD_DIR=$(Agent.BuildDirectory) WORK_FOLDER_NUM=$(echo "$BUILD_DIR" | awk -F '_work/|/s' '{print $2}') # 设置为管道变量 echo "##vso[task.setvariable variable=WorkFolderNumber;]$WORK_FOLDER_NUM"
内容的提问来源于stack exchange,提问作者Alex A
相关产品推荐
相关产品推荐

