|
|
1
6
答案是为了“构建”您的代码,机器需要什么要求。这完全取决于您所说的代码。 如果它有几千行代码,那就把旧桌面从壁橱里拿出来。如果它有几十亿行代码,那就和银行经理谈谈,给你一笔刀片外壳的贷款吧! 不过,我认为最好从构建服务器开始,为自己购买一台新的开发人员机器,然后将旧的开发人员机器重新构建为构建服务器。 |
|
|
2
3
首先,我将在您当前用于构建的任何系统上收集构建的一些性能指标。我将专门研究CPU和内存利用率、从磁盘读写的数据量以及生成的网络流量(如果有的话)。在Windows上,您可以使用PerfMon获取所有这些数据;在Linux上,您可以使用vmstat、iostat和top等工具。找出瓶颈所在——您的构建CPU受限吗?磁盘绑定?渴望得到公羊?这些问题的答案将指导您的购买决策——如果您的构建重击了CPU,但生成的数据相对较少,那么放入一个基于scsi的高速磁盘是浪费金钱的。
在收集这些度量的同时,您可能希望尝试使用不同级别的并行性运行构建。如果使用gnumake,请使用
另外,考虑一种可能性,即适合您需求的正确构建服务器实际上可能是一组便宜的系统,而不是一个庞大的盒子——外面有许多分布式构建系统(gmake/distcc、pvmgmake、electronicaccelerator等),它们可以帮助您更好地利用一系列便宜的计算机,而不是单个大型计算机。系统。 |
|
|
3
2
需要考虑的事项: 预计将同时建设多少个项目?一个项目可以等待另一个项目完成吗? 您要进行CI还是计划的生成? 您的构建通常需要多长时间? 您使用的是什么构建软件? 大多数Web项目都很小(构建时间不到5分钟),购买大型服务器完全没有意义。 作为一个例子, 我们有大约20个开发人员积极参与6个不同的项目。我们正在为所有项目使用一个运行CI的TFS构建服务器。他们将建立在每次登记的基础上。 我们所有的项目都在3分钟内完成。 构建服务器是一个具有4GB RAM的单四核。我们使用它的主要原因是为QA执行开发和阶段构建。生成完成后,该应用程序将自动部署到相应的服务器上。它还负责针对这些项目运行单元和Web测试。 您使用的构建软件类型非常重要。TFS可以利用每个核心在解决方案中并行构建项目。如果您的构建软件不能做到这一点,那么您可能会根据需要调查拥有多个构建服务器。 |
|
|
4
2
我们的商店支持16种产品,从几千行代码到数十万行(此时可能超过一百万行)。我们使用3台HP服务器(大约5年前),双四核,10GB内存。磁盘为7200 rpm SCSI驱动器。所有通过命令行上的msbuild编译,并启用并行编译。 有了这个设置,到目前为止最大的瓶颈是磁盘I/O。我们将彻底清除源代码,并在每次生成时重新签出,而且删除和签出时间确实很慢。编译和发布时间也很慢。CPU和RAM没有远程征税。 我正在刷新这些服务器,所以我要走工作站级机器的路线,用4代替3,用我能负担得起的最好/最快的SSD替换SCSI驱动器。如果您有类似的设置,那么应该考虑磁盘I/O。 |