TFS持续集成构建

TFS持续集成构建,tfs,continuous-integration,tfsbuild,Tfs,Continuous Integration,Tfsbuild,我在同一个源代码管理文件夹下创建了3个连续集成构建,即在一个TFS文件夹下,该文件夹下有22个项目和3个解决方案,每个解决方案包含一些共享项目。我已经为3个解决方案文件中的每个文件创建了一个持续集成构建。问题是每当有人在任何解决方案下签入时,所有3个构建都会触发。只有在any解决方案下有任何签入时,才有任何方法触发相关的构建吗?请告诉我如何在TFS 2012中配置“要生成的项目”和源设置选项卡?TFS 2015u1及更高版本 映射中的源代码管理文件夹控制CI生成触发的时间,而不是其他。自定义活动

我在同一个源代码管理文件夹下创建了3个连续集成构建,即在一个TFS文件夹下,该文件夹下有22个项目和3个解决方案,每个解决方案包含一些共享项目。我已经为3个解决方案文件中的每个文件创建了一个持续集成构建。问题是每当有人在任何解决方案下签入时,所有3个构建都会触发。只有在any解决方案下有任何签入时,才有任何方法触发相关的构建吗?请告诉我如何在TFS 2012中配置“要生成的项目”和源设置选项卡?

TFS 2015u1及更高版本 映射中的源代码管理文件夹控制CI生成触发的时间,而不是其他。自定义活动可能能够检查特定文件夹中是否未进行任何更改并提前停止生成,但这需要您创建自定义活动并自定义工作流

通常,您会将每个解决方案及其项目放在源代码管理中它们自己的文件夹中,这样您就可以为每个特定CI构建创建源代码管理映射


TFS 2015更新2及以后版本:
新的生成引擎支持工作区和触发器的单独定义。

解决方案之间共享的项目如何?为它们提供一个单独的生成并将其打包到一个NuGet包中,或者在这些文件更改时触发多个生成。第二个选项-澄清,您建议将每个解决方案及其项目放在它们自己的文件夹中,但要有对文件夹外项目的引用(将这些常见项目也添加到解决方案中)?如果可能的话。不要引用其他解决方案中的项目文件。但是如果您需要独立地在它们中触发,那么如果您不能使用nuget包或简单地复制程序集输出来完成正确的解决方案,那么这可能是唯一的方法。