MSBuild 脚本中的 TFS 2013 分支名称



我已经看到过几次提到包含 TFS 分支名称的变量,这些变量是从生成定义的源设置路径中的最后一个目录中提取的,但我还没有在 TFS 2013 中工作。 是否有一个变量将填充在 TFS 2013 中的 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)" />

MSBuild 脚本中的环境变量数据TFS2013不使用这种格式。

它应该是TF_BUILD_XXX例如

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

XAML 构建的官方教程TFS2013,您可以参考此链接 - 团队基础构建环境变量。

如您所见,我们没有与构建中使用的分支名称相关的环境变量

对于解决方法,可以使用客户端 API 提取类似的信息。

在一个名为 SourceGetVersionIBuildDetail对象中有一个属性。使用生成定义中定义的默认分支手动执行或触发生成定义时,此属性仅返回">T",但如果生成定义是由提交到受监视分支触发的,则此属性将设置为分支名称。

只需分析此属性的值,您应该能够准确确定哪个分支触发了生成定义。或者你也可以使用

TF_BUILD_SOURCEGETVERSION:正在生成的版本(TFVC 变更集或 Git 提交(。

你正在查看 TFS 2015 中引入的生成系统的文档。TFS 2013 仅支持 XAML 版本,该版本已弃用,因此越来越难以找到相关文档。

但是,有可用的文档。

此处的问题是您要查找 TFS 2013 中不存在的变量。你能做的最好的事情是 TF_BUILD_SOURCEGETVERSION ,这将是正在构建的 TFVC 变更集或 Git 提交哈希。

最新更新