如何加速我们的TeamCity构建?

时间:2011-03-14 09:20:55

标签: svn msbuild continuous-integration teamcity-5.0

最近几个月,我们的存储库的规模已大大增加,而TeamCity构建现在变得非常缓慢。

很多批量来自安装文件和其他非代码,非必要(无论如何构建)人们已经签入SVN的东西。

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

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

现在构建需要大约1小时,但是如果我可以让TeamCity获取它需要的代码而没有别的,那么我认为我可以将它降低到10分钟或更短时间。

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

任何人都可以建议我们可以进行任何更改,或者使用TeamCity和MSBuild从头开始构建一个可以让我选择从SVN获取内容的文章的好文章吗?

感谢。

1 个答案:

答案 0 :(得分:2)

  1. 只建立什么改变。
  2. CI构建不需要完成发布版本所做的全部工作。所有CI需要编译并进行一些验证。
  3. 解决方案,有时开发者会将负载放入任何单一的sln中。如果您在一个sln中获得了大量服务,并且每次只需更改一次即可构建它? 所以将它们分开 - 每个输出一个sln(我的意思是exe或服务或任何不是单个DLL)
  4. 并行构建。 为每个输出(在TeamCity中)设置不同的构建目标
  5. 构建工件,部署工件。这意味着您永远不必等待构建完成部署。
  6. 对于SVN而言,十分钟的同步仍然是一个非常长的时间,这真的要降下来,在命令行需要多长时间? 将非构建相关项目移动到另一个仓库?

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

    希望有帮助吗?