1

我们有一个特定的文件,比如 X.zip,它只被 1 或 2 人修改。因此,我们不希望在每次签入时触发构建,因为其他文件大多未触及。

我需要在构建之前检查条件,签入的项目是否为“X.zip”。如果是,则触发构建,否则不要。我们只使用 CI 构建。

关于仅在签入此特定文件时如何触发构建的任何想法?任何其他方法将不胜感激,因为我是 TFS 的新手......

塔拉。

4

2 回答 2

1

我不知道任何 OOTB 功能可以做到这一点,您需要做的是编写您自己的自定义 MSBuild 任务,该任务在构建运行之前执行(预构建操作)。

然后,该任务将需要使用 TFS API 来检查您想要的文件的当前签入,如果未找到,您必须将任务设置为失败。

这并不理想,因为它会向 Team Build 指示构建失败,这取决于您是否使用签入策略,这可能无济于事。也更难一目了然地确定哪些构建由于任务而失败,哪些由于真正的问题而失败。

您可以将构建更改为不那么频繁地发生,而不是每次签入,这将减少构建服务器上的负载。

否则,您可能想深入研究 Cruise Control .NET,它可能支持更好的条件构建。

于 2009-08-26T11:47:58.943 回答
0

如果您可以将 X.zip 移动到它自己的文件夹中,那么您可以使用仅查看包含 X.zip 的文件夹的工作区来设置 CI 构建。

然后,您需要添加对 tf get 的显式调用以下载其余代码,因为 Team Build 仅下载工作区正在查看的内容。

但这可能比自定义任务方法更简单?

于 2010-05-04T18:58:41.257 回答