为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
幕布斯6054654 2023-08-20 15:48:12
在 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 中

https://img1.sycdn.imooc.com/64e1c5890001639006530226.jpg

在映射中使用 var


https://img3.sycdn.imooc.com/64e1c593000197bf05060204.jpg

在 var 映射下构建 .sln


https://img1.sycdn.imooc.com/64e1c59e000125e606530161.jpg

查看完整回答
反对 回复 2023-08-20
?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

不,我们没有这种变量来获取构建代理中的工作区映射。只需使用Build.SourceBranch 它就会返回构建排队的分支。

但是,当存在多个映射时,源分支将设置为映射的最常见父级。如果没有共同的父级,可能是空的。这就是预期的行为。

以下是一些可以满足您的要求的选项:

  • 定义一个变量“Mapping”并在构建脚本中使用它。

  • 编写一个脚本来查询构建定义对象并读取该对象中存储的映射。


查看完整回答
反对 回复 2023-08-20
  • 2 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信