【发布时间】:2019-05-25 20:04:31
【问题描述】:
我的目标是创建一个 TFS CI 构建,该构建由在 TFVC 中托管的项目的两个特定分支上的签入触发。当我手动对构建进行排队并在队列提示的“Shelveset 名称”字段中键入特定分支时,构建按预期工作。但是,当我从一个特定分支签入更改时,构建会尝试使用两个分支的父文件夹作为其默认源,从而导致整个构建定义中的文件路径不正确,无论我使用 $(Build.SourceBranchName) 变量。
我的文件夹结构如下:
- $/MyRepo
|
| -Integration Suite
|
| -CurrentVersion
|
| -Dev
我使用路径过滤器打开 CI 触发器以包括 $/MyRepo/Integration Suite/CurrentVersion 和 $/MyRepo/Integration Suite/Dev
在“获取源”任务中,我的存储库设置为$/MyRepo,我将这些服务器路径分别映射到CurrentVersion 和Dev 本地路径。
例如,我希望签入CurrentVersion 分支下的更改会将构建源设置为$/MyRepo/Integration Suite/CurrentVersion,但它却设置为$/MyRepo/Integration Suite。这意味着我在定义中使用$(Build.SourceBranchName) 构建的任何路径都有Integration Suite,而它们应该有CurrentVersion。
我做错了吗?还是不支持我想要的行为?
【问题讨论】: