Ubuntu イメージを使用して Amazon EC2 に Hudson をインストールする予定です。テストするコードには大きなメモリ オーバーヘッドはありません。主に Python 単体テストを実行します。
どの EC2 インスタンスを使用すればよいですか? マイクロ インスタンスで十分でしょうか (十分なメモリがありますか)、それともより大きなインスタンスを使用する必要がありますか?
Ubuntu イメージを使用して Amazon EC2 に Hudson をインストールする予定です。テストするコードには大きなメモリ オーバーヘッドはありません。主に Python 単体テストを実行します。
どの EC2 インスタンスを使用すればよいですか? マイクロ インスタンスで十分でしょうか (十分なメモリがありますか)、それともより大きなインスタンスを使用する必要がありますか?
Jenkins 自体はマイクロで問題なく動作しますが、2 つの問題があります: 1) ビルドとテスト用に 150MB 程度のメモリがあまり残っていませんが、より大きな問題は 2) CPU 使用率が数回以上スパイクした場合です。数秒 Amazon は、使用可能な CPU の97%以上を遮断してスロットリングを行い、インスタンスを単純にクラッシュさせます。http://gregsramblings.com/2011/02/07/amazon-ec2-micro-instance-cpu-steal/
スロットリングは私たちにとって完全に不可能であり、Quad i7ラップトップでは 25 秒かかるのに対し、EC2 ではテスト付きのビルドに 12 分かかりました。
しかし!質素な人のための修正があります:
マイクロで Jenkins マスターを実行しますが、実際のテストを実行する必要がある場合は、小さなインスタンスを起動します。これにより、十分なメモリと適切な CPU が得られますが、それでも信じられないほど安価です (プッシュ [またはコミット] あたり 10 セント)。ただし、インスタンスなどを起動する必要があるため、ビルド時間が大幅に増加します。
セットアップはかなり複雑で、ec2 プラグインのいくつかの制限を回避する必要があります (全体として非常にうまく機能します)。そのため、これを行いたい場合はブログ投稿を作成しました: http://wkmacura.tumblr.com/ポスト/5416465911/ジェンキンス-ec2
EC2 で hudson を実行し、Ruby/Rails の統合テストを行っています。私たちはあなたがそうするだろうと思うので、私たちはマイクロインスタンスでうまくやっています.