我们应该采取哪些硬件改进来加速您的构建机器?

时间:2010-09-24 13:03:29

标签: performance msbuild build-process continuous-integration hardware

我们的开发部门正在运行一台构建机器,我们已经建立了在整个工作日内不断构建的机器。 这样做是:

  • 删除先前签出的源代码(5分钟)
  • 从颠覆(15分钟)
  • 进行干净的结账
  • 构建一大堆C ++和.NET代码(35分钟)
  • 构建安装程序并运行单元测试(5分钟)

鉴于上述情况,添加不同硬件会对改善上述时间所需的时间产生何种影响?

例如 - 我正在考虑将SSD用于硬盘,因为编译涉及大量随机磁盘访问。

subversion服务器当前是虚拟机 - 将它切换为物理机器有助于缓慢结账吗?

从Core 2 Duo处理器升级到i7 make会有什么影响?

有关加快上述速度的其他建议吗?

3 个答案:

答案 0 :(得分:2)

我认为你自己提出了很好的建议。绝对添加更快的硬盘驱动器(SSD或其他)并升级CPU。我认为您的代码存储库(Subversion)肯定应该在物理机器上,理想情况下与您的构建机器分开。我认为升级硬件后你会注意到一个很大的不同。此外,请确保计算机没有与构建任务同时运行的任何其他大型任务(例如病毒扫描),以便不会减慢构建任务的速度。

您的构建计算机如何设置以执行其任务?您使用的是持续集成软件吗?机器本身是服务器还是普通台式机?

答案 1 :(得分:2)

可能加速SVN结帐流程的一个技巧可能是在构建计算机上拥有一个工作副本,更新工作副本并从工作副本执行svn export到构建目录。这样可以减少SVN服务器的负载,减少网络流量。

减少清理前5分钟的另一个技巧可能是将旧的构建目录移动到同一磁盘上的临时文件夹,然后在主构建完成时使用另一个后台任务删除旧的构建目录(可能是夜间清理任务)。

答案 2 :(得分:1)

加速SVN的另一种方法是使用二进制协议而不是HTTP。

看起来构建时间是最耗时的部分 - 这是优化的最佳候选者。如何将并行构建分散到办公室中的其他机器上 - 像Incredibuild这样的产品可能会显着缩短编译时间。