4

我为持续集成设置了一个 TFS 项目。我的问题是,即使没有对我的项目进行任何更改,其他 TFS 项目的签入也会触发我的项目的构建。

这似乎与我的项目是 Team Foundation Git 存储库有关,而其他项目都不是。

我在哪里可以找到触发此构建的原因?

编辑:更清楚地说,我的意思是我有完全独立的团队项目。除了一个使用 Git 之外,所有这些都使用 Team Foundation 版本控制。不知何故,TFVC 团队项目的签入触发了 Git 团队项目的构建

4

4 回答 4

4

在我们的案例中,这被 Microsoft 确定为 TFS 中的一个错误。

tbl_BuildDefinitionMapping中相应构建的ServerItem列设置为“$\”。

我从微软那里得到的修复是把它改成不存在的东西,比如:

$\GIT_NOTAFOLDER\

这为我解决了这个问题。

您需要在tbl_builddefinition中查找构建定义。 找到它后,请记住DataspaceId

然后打开tbl_builddefinitionmapping并从上方查找DataspaceId 。您应该看到ServerItem$\。将其更改为$\GIT_NOTAFOLDER\,它应该可以解决问题。

于 2015-08-28T02:10:42.250 回答
0

CI 构建在 Git 存储库上始终监控整个存储库。您可以添加的唯一过滤器是监视某些分支,但您不能像使用经典 TFVC 那样“隐藏”文件夹或文件。

于 2014-12-09T20:48:28.460 回答
0

每当在该构建定义工作区的任何映射文件夹中更改文件时,都会触发构建。

我猜你已经广泛地映射了构建定义的工作区。您应该只包含构建所需的文件夹/文件(并且只有对这些文件的更改才会触发您的构建)。

在此处输入图像描述

于 2014-12-08T23:13:01.287 回答
0

我们通过使用名为 TFS Sidekick 的工具删除 TFS 构建代理上的工作区来解决此问题。重新创建构建定义后,其他产品上的构建不再触发 Git 中产品的构建。

我仍然不确定它们是如何联系起来的。

于 2014-12-19T19:04:56.370 回答