当活动(即未隐藏)目录的内容更改时,TFS 中是否可能不触发 CI 构建?

Is it possible in TFS NOT to trigger a CI build when the content of an active (i.e. NOT cloaked) directory changes?

我的场景如下:

  1. 开发人员签入 SQL 更改目录 ClientDB
  2. 专用构建唤醒,从签入的文件中提取元数据,对其进行处理并将结果签入同级目录 ClientMetadata

(开发者不允许在ClientMetadata下签入)

烦人的副作用是,因为专用构建是一个 CI 构建,它会唤醒两次:

  1. 一次用于 ClientDB 的更改,使其更新 ClientMetadata
  2. 第二次,由于其自​​身在 ClientMetadata 中的更改 - 毕竟,此目录在构建的“源设置”部分中显示为活动目录:

理想情况下,我希望 ClientMetadata 目录在工作区中可用,但我不希望那里的更改触发构建。

可能吗?

不适用于 XAML 版本。这在 TFS 2015 中引入的构建系统中是绝对可能的。

当您 select 此触发器 (CI) 每当有人签入代码时,构建将 运行.

实际上不建议在构建管道期间将文件签入源代码管理。

如果您不想隐藏 ClientMetadata 文件夹,但仍希望在获取源代码期间在构建代理上将其下拉。请尝试以下解决方法:

您可以删除此文件夹的活动状态并添加自定义 activity 以仅从 TFS 服务器路径 ($/../../ClientMetadata) 获取文件到代理 $(BuildDir)。

如果构建中的第二次签入是使用末尾带有文本 ***NO_CI*** 的签入注释完成的,持续集成触发器将被抑制。

这是一个 hack,但它是门控签入如何使用 TFS 进行 OOTB。

What does ***NO_CI*** stand for?