我正在尝试将一个需求放在一起构成一个新环境,包括TeamCity运行Sql Server,一些构建代理(现在)和一个SVN存储库。
现在有6名开发人员,目前将有5个活跃的解决方案参与CI流程,这显然会随着时间的推移而增长。目前没有任何解决方案需要大约10分钟的时间来构建,因此它们在复杂性方面并不是很大。同上。
构建项目本身需要一个sql server实例,因此可以运行自动化测试 - 我认为它们应该与TeamCity sql实例分开。
任何人都可以建议适合运行这些的硬件配置。磁盘i / o是否比实际CPU功率更重要。
我可以在单个多CPU,raid和虚拟化上运行所有这些吗?
我们应该运行Windows 2008和hyper-v吗?
我总是让其他人处理服务器要求和构建但现在我必须弄脏我的脚。
欢迎任何建议
答案 0 :(得分:9)
数据点:
我们的TeamCity环境(如果我没记错的话)是三个8核服务器,每个服务器都有32Gb的RAM,运行Windows 2008和HyperV。我们的SVN存储库位于不同的服务器上(由于历史原因)。我认为现在一切都在SAN上,为了可靠性(如果其中一个主机发生故障,我们可以轻松地将VM移动到另一个主机)。
我们有10个构建代理,都在VM中运行。其中4个用于直接构建;其中6个用于构建和运行系统测试(涉及协调测试中的其他VM)。我们选择了这个,因为我们的一些系统测试需要11个小时才能运行,而且我们不想保留构建队列。我们已经分阶段发布 - 理想情况下,一个项目在通过自动化单元和系统测试之前不会发布给测试部门。
我们有十几位开发人员一次积极参与3个或4个项目。我们还使用TeamCity来构建修补程序和维护版本。
在您的方案中,我会在您有预算的最大的盒子上选择Windows 2008和HyperV。磁盘I / O比CPU功率更重要,但是通过更多内核,您可以更轻松地扩展到更多虚拟机。分配给每个VM的大量RAM可避免交换,并有助于缓存,这意味着更少的磁盘I / O.在某个时刻,您可能会考虑使用两个或更多的盒子来进行故障转移,并且因为购买两个装有32Gb RAM的盒子比购买一个盒子的64Gb选项更便宜。
使用VM的一个优点是您可以对它们进行快照并定期还原它们。每个项目都应该有自己的SQL Server实例。
答案 1 :(得分:3)
您应该查看我们文档中的“如何”部分:http://confluence.jetbrains.net/display/TCD65/How+To ...您将在其中找到“估算TeamCity的硬件要求”主题。可能会有所帮助。
答案 2 :(得分:0)