团队建设现在非常缓慢

Cha*_*ert 7 msbuild tfs team-build visual-studio

我们在实施Team Foundation Build Server时遇到了性能问题,而且我对如何加快速度的想法已经不多了.我们已经添加了一些PropertyGroup元素来提高几个步骤(SkipClean,SkipLabel,SkipInitializeWorkspace)的性能,但我认为我们需要进行重大的重组才能解决问题.这是我们的设置:

  • 我们有大约40个Web应用程序,每个应用程序都非常不同,但运行了一堆共享程序集
  • 每个Web应用程序都有自己的解决方案;
  • 每个Web应用程序都引用了大约10到25个共享程序集;
  • 存在一个构建定义,其中包含在每次登记到主干时触发的所有解决方案;

这是我们遇到的基本问题

  • 在构建期间,它将构建每个共享程序集的次数,而不是构建一次并使用每个应用程序
  • drop目录的文件复制时间非常慢.它必须通过网络共享,不会采取本地路径.
  • 每隔这么多的构建,一个或多个输出文件就会被"锁定",即使编译很好,也会导致构建中断.
  • 另一件事 - 我也尝试过单独的构建定义,但这样做也会强制获得另一个工作区获取最新版本.我宁愿让构建服务器包含一个版本的主干来构建.

在过去的几个月里,我们已经放弃了嗜睡并忽略了这个问题,但现在建造时间超过一小时到一个半小时.

我正在考虑学习和切换到巡航控制的想法,以获得更大的控制权.有人不同意吗?

任何帮助都非常感谢.谢谢!

Not*_*tMe 2

首先,听起来好像所有 Web 应用程序都包含在同一个团队项目中。如果这是真的,请将它们分成逻辑组。通常,单个团队项目应包含单个部署模型。

其次,将共享程序集拆分为自己的团队项目。移动后,您有多种选择,可以将源代码或已编译的 DLL 分支到需要它们的团队项目。他们可以有自己的单元测试,如果您愿意,您可以扩展团队构建以自动合并成功的测试。

总而言之,您需要简化构建策略。