【发布时间】:2011-06-22 21:14:06
【问题描述】:
我计划使用 Ubuntu 映像在 Amazon EC2 上安装 Hudson。我要测试的代码没有很大的内存开销——我将主要执行 python 单元测试。
我应该使用哪个 EC2 实例?微型实例是否足够(有足够的内存)还是我应该使用更大的实例?
【问题讨论】:
标签: hudson amazon-ec2 amazon-web-services jenkins
我计划使用 Ubuntu 映像在 Amazon EC2 上安装 Hudson。我要测试的代码没有很大的内存开销——我将主要执行 python 单元测试。
我应该使用哪个 EC2 实例?微型实例是否足够(有足够的内存)还是我应该使用更大的实例?
【问题讨论】:
标签: hudson amazon-ec2 amazon-web-services jenkins
Jenkins 本身会很高兴地在 micro 上运行,但是有两个问题:1)您将没有多少内存用于构建和测试,大约 150MB,但更大的问题是 2)如果您的 CPU 使用率飙升超过几秒钟,Amazon 将通过节流切断 97% 或更多可用 CPU 来破坏您的实例。http://gregsramblings.com/2011/02/07/amazon-ec2-micro-instance-cpu-steal/
限制对我们来说是完全不可能的,在 EC2 上进行测试构建需要 12 分钟,而不是在 Quad i7 笔记本电脑上需要 25 秒笔记本电脑。
但是!节俭有一个解决办法:
在微型计算机上运行 Jenkins 主实例,但在需要运行实际测试时启动一个小实例。这为我们提供了充足的内存和不错的 CPU,但它仍然非常便宜(每次推送 [或提交] 只需 10 美分)。但是,它大大增加了构建时间,因为它必须启动实例等等。
设置相当复杂,需要解决 ec2 插件的一些限制(总体而言,它工作得非常好),所以如果你想这样做,我们写了一篇博文:http://wkmacura.tumblr.com/post/5416465911/jenkins-ec2
【讨论】:
我们正在 EC2 上运行 hudson 并集成测试 Ruby/Rails。我们在微型实例上做得很好,我认为你会这样做。
【讨论】: