0

我有两个构建定义“A”和“B”。当签入“src\ProjectA”下的包含文件时,我标记了“A”将被触发(Gated Check-in),当签入“src\ProjectB” 下的包含文件时将触发“B ” 。当签入仅包含其中一个文件夹时,它按预期工作。

签入包含两个文件夹并且我单击 Visual Studio 中的 CkeckIn 按钮时,我必须选择要运行的构建(我选择“A”)并且只有这个构建正在运行并且所有文件都在进入,这意味着一些代码进入存储库,可能会破坏未运行的构建(“B”)。

每当交付此类签入时,如何使 TFS 运行两个构建,并且如果所有依赖的构建都通过,则不接受更改?

4

1 回答 1

0

每个门控签入构建定义一次只能有一个正在运行的构建。如果您为同一个源代码管理文件夹配置了两个构建定义,那么您将始终可以选择。您的情况很可能是为同一个源代码管理文件夹配置的。

建议只签入每个项目折叠而不是签入包括两个文件夹一起以避免混淆。作为一种解决方法,您可以先签入文件夹中的文件src\ProjectA,然后排除其他文件,在门控签入构建完成后,再次包含其他文件。

有关 TFVC 门控签到的更多信息,您可以查看James Reed在此问题中的回答Can we build multiple gated check-in parallel?

于 2017-04-19T17:31:24.530 回答