在 DevOps 构建模板中,我使用构建变量 $(Build.SourceBranch) 来检索源代码管理中解决方案的源路径。但是,如果如图所示指定了多个工作区映射,则该变量为空。是否有一个构建变量可以返回第一个工作区映射(如果指定了多个工作区映射)或返回正在构建的解决方案的源路径。
2 回答
开满天机
TA贡献1786条经验 获得超13个赞
构建.存储库.Tfvc.工作区
有关预定义变量的更完整列表,请参阅文档。
如果您的存储库是 Team Foundation 版本控制,则定义。构建代理使用的 TFVC 工作区的名称。
例如,如果 Agent.BuildDirectory 为 c:\agent_work\12 并且 Agent.Id 为 8,则工作区名称可能为:ws_12_8
此变量是代理范围的,可以用作脚本中的环境变量和构建任务中的参数,但不能用作构建号的一部分或版本控制标记。
然而
我不确定工作区的实际名称是否是您要查找的名称。您提到想要通往 的路径.sln
,所以我假设您试图获取它以便可以构建它。正确的?
.sln
在这种情况下,您应该将本地(读取:代理)工作区映射定义为变量,以便您可以告诉构建任务在该路径过滤器下构建文件。当然,变量的使用是可选的,但我更喜欢在任何地方使用变量而不是“硬编码”字符串值。面对现实吧。打字好难啊!
将映射路径存储在 var 中
在映射中使用 var
在 var 映射下构建 .sln
侃侃尔雅
TA贡献1801条经验 获得超15个赞
不,我们没有这种变量来获取构建代理中的工作区映射。只需使用Build.SourceBranch
它就会返回构建排队的分支。
但是,当存在多个映射时,源分支将设置为映射的最常见父级。如果没有共同的父级,可能是空的。这就是预期的行为。
以下是一些可以满足您的要求的选项:
定义一个变量“Mapping”并在构建脚本中使用它。
编写一个脚本来查询构建定义对象并读取该对象中存储的映射。
- 2 回答
- 0 关注
- 90 浏览
添加回答
举报
0/150
提交
取消