TFS 2018:使用构建变量进行门控签入
TFS 2018: Gated checkin with build variables
在我们的 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都会发布,所以我每次都要调整发布分支文件夹。这就是我引入构建变量 $(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*
我对此构建定义进行了门控检查触发器,并选中了 Use workspace mappings for filter 选项。
在此分支上签入代码时,不会显示门控签入。
当我在映射中使用硬编码路径时,门控签入对话框确实出现在 Visual Studio.
中
我怎样才能使用变量并仍然进行门控签入?
你不能。不支持路径映射中的变量。如果您需要以这种方式支持许多不同的分支,最简单的选择是使用脚本语言(例如 PowerShell)和 REST API 到 clone/update 的组合来自动执行您想做的事情构建定义 JSON.
在我们的 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都会发布,所以我每次都要调整发布分支文件夹。这就是我引入构建变量 $(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*
我对此构建定义进行了门控检查触发器,并选中了 Use workspace mappings for filter 选项。
在此分支上签入代码时,不会显示门控签入。
当我在映射中使用硬编码路径时,门控签入对话框确实出现在 Visual Studio.
中
我怎样才能使用变量并仍然进行门控签入?
你不能。不支持路径映射中的变量。如果您需要以这种方式支持许多不同的分支,最简单的选择是使用脚本语言(例如 PowerShell)和 REST API 到 clone/update 的组合来自动执行您想做的事情构建定义 JSON.