如何在Azure Pipeline中获取GitHub仓库名称?相关变量尝试未达预期
Azure DevOps 获取GitHub项目源目录名称的方案
Azure DevOps没有直接返回GitHub项目源目录名称(如MyProjectFolderName)的内置变量,但可以通过以下两种方式获取:
- 直接使用内置变量
Build.Repository.Name:这个变量的值就是GitHub仓库的名称,也就是你需要的MyProjectFolderName,无需从路径变量中提取,是最简便的方案。 - 从路径变量中截取:如果必须基于
Build.SourcesDirectory或System.DefaultWorkingDirectory这类路径变量提取,可通过脚本实现:- PowerShell脚本示例:
$repoName = Split-Path -Path "$(Build.SourcesDirectory)" -Leaf # 将提取结果存入自定义变量供后续任务使用 Write-Host "##vso[task.setvariable variable=RepoName;]$repoName" - Bash脚本示例:
repoName=$(basename "$(Build.SourcesDirectory)") # 将提取结果存入自定义变量供后续任务使用 echo "##vso[task.setvariable variable=RepoName;]$repoName"
- PowerShell脚本示例:
注:默认情况下,GitHub仓库克隆到Azure DevOps代理后的文件夹名称与仓库名称一致,因此
Build.Repository.Name完全匹配你需要的目标值。
内容的提问来源于stack exchange,提问作者user264953
相关产品推荐
相关产品推荐

