在我们的TFS2018网站中,我为我们的开发分支和发布分支制作了构建定义。发布分支具有以下命名约定:Release_yyyy_mm_dd。
DEV Branch
|
-- Release Folder
| |
| -- Release_2018_01_01 Branch
| -- Release_2018_01_15 Branch
| -- Release_2018_01_29 Branch *current*
我们需要构建大量代码( MAP 文件夹)和许多代码( CLOAK 文件夹)。
例如:
MAP Release_2018_02_22\ServiceA
MAP Release_2018_02_22\ServiceB
CLOAK Release_2018_02_22\ServiceC
CLOAK Release_2018_02_22\GigsOfDataThatDoesntNeedGetting
*repeat this for 50 folders*
我们发布每个sprint,所以我每次都必须调整release分支文件夹。这就是我引入构建变量$(CurrentReleaseBranch)的原因。
例如:
$(CurrentReleaseBranch) on the variables TAB set to "Release_2018_02_22".
MAP $(CurrentReleaseBranch)\ServiceA
MAP $(CurrentReleaseBranch)\ServiceB
CLOAK $(CurrentReleaseBranch)\ServiceC
CLOAK $(CurrentReleaseBranch)\GigsOfDataThatDoesntNeedGetting
*repeat this for 50 folders*
我在此构建定义上有一个门控检入触发器,并选中使用工作区映射进行过滤器选项。 检查此分支上的代码时,将不会显示门控签入 当我在映射中使用硬编码路径时,门控签入对话框确实出现在Visual Studio中 我如何使用变量并仍然进行门控检查?
答案 0 :(得分:1)
你做不到。不支持路径映射中的变量。如果您需要以这种方式支持许多不同的分支,最简单的选择是使用PowerShell和REST API等脚本语言的组合自动完成您想要的操作,以克隆/更新构建定义JSON。