是否有用于工作区映射的构建变量

在 DevOps 构建模板中,我使用构建变量 $(Build.SourceBranch) 来检索源代码管理中解决方案的源路径。但是,如果如图所示指定了多个工作区映射,则该变量为空。是否有一个构建变量可以返回第一个工作区映射(如果指定了多个工作区映射)或返回正在构建的解决方案的源路径。

https://img.mukewang.com/64e1c57a0001518f16170361.jpg


幕布斯6054654
浏览 96回答 2
2回答

开满天机

构建.存储库.Tfvc.工作区有关预定义变量的更完整列表,请参阅文档。如果您的存储库是 Team Foundation 版本控制,则定义。构建代理使用的 TFVC 工作区的名称。例如,如果 Agent.BuildDirectory 为 c:\agent_work\12 并且 Agent.Id 为 8,则工作区名称可能为:ws_12_8此变量是代理范围的,可以用作脚本中的环境变量和构建任务中的参数,但不能用作构建号的一部分或版本控制标记。然而我不确定工作区的实际名称是否是您要查找的名称。您提到想要通往 的路径.sln,所以我假设您试图获取它以便可以构建它。正确的?.sln在这种情况下,您应该将本地(读取:代理)工作区映射定义为变量,以便您可以告诉构建任务在该路径过滤器下构建文件。当然,变量的使用是可选的,但我更喜欢在任何地方使用变量而不是“硬编码”字符串值。面对现实吧。打字好难啊!将映射路径存储在 var 中在映射中使用 var在 var 映射下构建 .sln

侃侃尔雅

不,我们没有这种变量来获取构建代理中的工作区映射。只需使用Build.SourceBranch 它就会返回构建排队的分支。但是,当存在多个映射时,源分支将设置为映射的最常见父级。如果没有共同的父级,可能是空的。这就是预期的行为。以下是一些可以满足您的要求的选项:定义一个变量“Mapping”并在构建脚本中使用它。编写一个脚本来查询构建定义对象并读取该对象中存储的映射。
打开App,查看更多内容
随时随地看视频慕课网APP