2011-02-07 29 views
21

Tôi đang lên kế hoạch cài đặt Hudson trên Amazon EC2 bằng cách sử dụng hình ảnh Ubuntu. Mã tôi sẽ thử nghiệm không có một bộ nhớ lớn trên không - tôi sẽ được thực hiện chủ yếu là thử nghiệm đơn vị python.Chạy Hudson trên EC2

Tôi nên sử dụng phiên bản EC2 nào? Sẽ vi dụ là đủ (có đủ bộ nhớ) hoặc tôi nên sử dụng một ví dụ lớn hơn?

Trả lời

23

Bản thân Jenkins sẽ vui vẻ chạy trên vi, nhưng có hai vấn đề: 1) bạn sẽ không còn nhiều bộ nhớ để xây dựng và thử nghiệm, khoảng 150MB nhưng vấn đề lớn hơn là 2) nếu sử dụng CPU của bạn gai cho hơn một vài giây Amazon sẽ chỉ đơn giản là nghiền nát trường hợp của bạn với throttling cắt giảm 97% hoặc nhiều CPU có sẵn. http://gregsramblings.com/2011/02/07/amazon-ec2-micro-instance-cpu-steal/

Các throttling là hoàn toàn không thể cho chúng ta, làm cho một xây dựng với thử nghiệm mất 12 phút trên EC2 thay vì 25 giây trên một i7 quad laptop.

Nhưng! Có một sửa chữa cho việc tiết kiệm:

Chạy một trình Jenkins trên vi mô, nhưng khởi động một phiên bản nhỏ khi cần thiết để chạy các thử nghiệm thực tế. Điều đó mang lại cho chúng ta nhiều bộ nhớ và CPU khá, nhưng nó vẫn cực kỳ rẻ (mười xu cho mỗi lần đẩy [hoặc cam kết]). Tuy nhiên, nó tăng đáng kể thời gian xây dựng bởi vì nó phải khởi động cá thể và tất cả điều đó.

Quá trình cài đặt khá tham gia, và đòi hỏi phải làm việc xung quanh một số hạn chế của các plugin EC2 (trong đó, tổng thể, hoạt động rất tốt), vì vậy chúng tôi đã viết lên một bài đăng blog nếu bạn muốn làm điều này: http://wkmacura.tumblr.com/post/5416465911/jenkins-ec2

+0

Tôi thấy rằng các trường hợp CPU cao tốt hơn nhiều đối với các bản dựng dựa trên java so với các phiên bản nhỏ. Nếu bạn có thể đủ khả năng đó, hãy đi cho CPU cao. –

9

Chúng tôi đang chạy hudson trên EC2 và thử nghiệm tích hợp Ruby/Rails. Chúng tôi đang làm tốt trên một trường hợp vi mô như tôi nghĩ bạn sẽ làm.

+3

Chúng tôi hạnh phúc chạy trên một trường hợp vi mô cho vài tháng nay và thực sự nó hoạt động hoàn hảo. – Datageek

Các vấn đề liên quan