TFS2015 变量问题(Build.SourceBranch 和 Build.SourceBranchName)

TFS2015 Variables Issue (Build.SourceBranch and Build.SourceBranchName)

发件人:https://connect.microsoft.com/VisualStudio/Feedback/Details/2264644

根据:https://msdn.microsoft.com/en-us/library/vs/alm/build/scripts/variables

Build.SourceBranch 应映射到 $/teamproject/branch,Build.SourceBranchName 应映射到 "branch",其中完整路径为 $/teamproject/branch

我有一个类似 $/MyProject/Development/MyBranch 的分支结构,当我尝试在 PowerShell 中使用这些变量时(即使用 BUILD_SOURCEBRANCH 和 BUILD_SOURCEBRANCHNAME),我得到:

BUILD_SOURCEBRANCH: $/我的项目 BUILD_SOURCEBRANCH名称:我的项目

根据我对文章的理解,变量应该分别是return$/MyProject/Development/MyBranch和MyBranch。

还有其他人能够使用 TFVC 存储库重现此行为吗?如果您仅使用 PowerShell 任务设置 vNext 构建定义并添加以下代码段,您将能够在输出中看到可用变量:

[CmdletBinding()]
param()
$environmentVars = get-childitem -path env:*
foreach($var in $environmentVars)
{
    $keyname = $var.Key
    $keyvalue = $var.Value

    Write-Output "${keyname}: $keyvalue"
}

我有新发现,必须修改答案。仔细检查 MSDN 文章后,我发现 TFVC BUILD_SOURCEBRANCH 将是工作空间 的 根服务器路径。所以我尝试将分支路径映射到服务器路径,请参考下面的屏幕截图。将服务器路径指定为分支路径后,您将获得 BUILD_SOURCEBRANCH.

的正确值