Svn 如何加快TeamCity的建设?

Svn 如何加快TeamCity的建设?,svn,msbuild,continuous-integration,teamcity-5.0,Svn,Msbuild,Continuous Integration,Teamcity 5.0,近几个月来,我们的存储库规模有了很大的增长,TeamCity的构建速度现在变得非常缓慢 大量数据来自安装文件和其他非代码、非必要(无论如何对于构建)的东西,这些都是人们签入SVN的东西 我们只运行基本的免费版本,有3个代理。我们的VCS签出模式是“自动在服务器上”。这两个解决方案文件都是C#,我们使用的是MSBuild脚本 我喜欢构建配置中的checkout rules部分,但已经读到它不起作用,因为它获取所有代码,然后应用规则,如果你问我,这会破坏对象 一个构建现在需要大约1小时,但如果我能让

近几个月来,我们的存储库规模有了很大的增长,TeamCity的构建速度现在变得非常缓慢

大量数据来自安装文件和其他非代码、非必要(无论如何对于构建)的东西,这些都是人们签入SVN的东西

我们只运行基本的免费版本,有3个代理。我们的VCS签出模式是“自动在服务器上”。这两个解决方案文件都是C#,我们使用的是MSBuild脚本

我喜欢构建配置中的checkout rules部分,但已经读到它不起作用,因为它获取所有代码,然后应用规则,如果你问我,这会破坏对象

一个构建现在需要大约1小时,但如果我能让TeamCity获取它需要的代码,而不需要其他任何东西,那么我想我可以将它缩短到10分钟或更少

我发现了一些使用MSBuild排除文件和文件夹的文章,但在我们的构建脚本中找不到任何关于从SVN获取的内容,我认为TeamCity做到了这一点

有谁能建议我们可以做些什么更改,或者写些好文章,介绍如何使用TeamCity和MSBuild从头开始构建一个可以让我选择从SVN获取什么的构建

谢谢

  • 只建造正在改变的东西
  • CI构建不需要做发布构建所做的一切。CI需要编译并进行一些验证
  • 解决方案,有时开发人员将负载放入任何单个sln。如果您在一个sln中拥有大量的服务,并且每次只有一个更改时它都会构建这些服务? 因此,将它们分开-每个输出一个sln(我指的是exe或服务或任何不是单个DLL的东西)
  • 并行构建。 每个输出都有不同的构建目标(在TeamCity中)
  • 构建到工件,部署工件。这意味着您不必等待构建完成后再部署 十分钟的同步对SVN来说仍然是一段很长的时间,这真的需要降低,在命令行上需要多长时间? 是否将非构建相关项目移动到另一个回购协议

    使用大的代码库和VSN考虑将核心组件构建到SN中的签入二进制文件/引用部分。 这允许您将构建的对象共享给其他团队,而不是浪费时间构建他们的代码


    希望能有所帮助?

    嗨,詹姆斯-谢谢你的回复。只是想澄清一下,你所说的同步时间是什么意思?使用SVN进行完全干净的签出,还是只是更新?随着回购协议增长到1GB以上,完全结账需要很长时间。根据更改的内容,更新会有所不同。我认为我们的SVN服务器没有那么快,但就像你说的那样,10分钟的等待时间实在太长了。我的意思是需要时间来获得你的代码库的全新副本。我想你需要把那个仓库整理一下。10分钟对于一份干净的副本来说已经太长了。有人推荐一些关于源代码管理最佳实践、CI和解决方案结构最佳实践的好文章或书籍吗?Martin Fowler ftw: