代码之家  ›  专栏  ›  技术社区  ›  jmcdade

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

  •  3
  • jmcdade  · 技术社区  · 10 年前

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

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

    建筑SourceBranch应映射到$/teamproject/branch和Build。SourceBranchName应映射到“分支”,其中完整路径为$/teamproject/branch

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

    BUILD_SOURCEBRANCH:$/MyProject BUILD_SOURCEBRANCHNAME:我的项目

    根据我对文章的理解,变量应该分别返回$/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"
    }
    
    1 回复  |  直到 10 年前
        1
  •  3
  •   Cece Dong - MSFT    10 年前

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

    enter image description here