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

MSBuild脚本中的TFS 2013分支名称

  •  0
  • AaronLS  · 技术社区  · 5 年前

    我曾多次提到过保存TFS分支名称的变量,这些变量是从构建定义的Source Settings路径的最后一个目录中提取出来的,但是在tfs2013中我还没有找到任何可以使用的变量。在tfs2013中,是否有一个变量将填充到MSBuild脚本中(从构建定义触发)?

    <Message Text="SourceBranchName: $(SourceBranchName)" />    
    <Message Text="Build.SourceBranch: %(Build.SourceBranch)" />
    <Message Text="BranchName: $(BranchName)" />
    <Message Text="Build.SourceBranchName: %(Build.SourceBranchName)" />
    <Message Text="BUILD_SOURCEBRANCHNAME: $(BUILD_SOURCEBRANCHNAME)" />
    
    0 回复  |  直到 5 年前
        1
  •  2
  •   PatrickLu-MSFT    5 年前

    环境变量

    应该是的 TF_BUILD_XXX 例如

    TF_BUILD_BUILD目录: 生成代理工作目录。例如:C:\Build\BuildBot3\CoolApp\CIBuild。

    这个 官方教程 使用TFS2013中的XAML构建,可以引用这个链接-- Team Foundation Build environment variables .

    如你所见,我们是这样做的 在生成中使用。

    为了解决这个问题,您可以使用客户机API来获取类似的信息。

    在一个 IBuildDetail 调用的对象 源获取版本 . 当使用生成定义中定义的默认分支手动执行或触发生成定义时,此属性只返回' T

    只需解析这个属性的值,就可以准确地确定哪个分支触发了构建定义。或者你也可以用

    TF_BUILD_SOURCEGETVERSION: 正在生成的版本(TFVC changeset或Git commit)。

        2
  •  1
  •   Daniel Mann    5 年前

    您正在查看TFS 2015中引入的构建系统的文档。TFS 2013只支持XAML构建,这是不推荐使用的,因此越来越难找到有关的文档。

    documentation 不过,也有。

    这里的问题是,您要查找的变量在tfs2013中不存在。你能做的就是 TF_BUILD_SOURCEGETVERSION ,它将是正在生成的TFVC变更集或Git提交哈希。