Bamboo Vs. Hudson (hay còn gọi là Jenkins) so với bất kỳ hệ thống CI nào khác [đã đóng]


119

Có ai có kinh nghiệm với cả Hudson và Bamboo không? Bất kỳ suy nghĩ về điểm mạnh và điểm yếu tương đối của các sản phẩm này?

Được rồi, vì mọi người tiếp tục đề cập đến các sản phẩm CI khác, tôi sẽ mở rộng điều này thêm. Đây là vấn đề chung của tôi. Tôi muốn thiết lập hệ thống CI cho một dự án mới. Dự án này có thể sẽ có các thành phần Java (WAR và JAR), một số mô-đun python và thậm chí có thể là một thành phần .NET. Vì vậy, tôi muốn một máy chủ CI có thể:

  1. Xử lý nhiều ngôn ngữ,
  2. Triển khai tạo tác đến máy chủ (tức là triển khai chiến tranh nếu tất cả các bài kiểm tra đơn vị đều vượt qua.)
  3. Tôi cũng muốn một cái gì đó được tích hợp với một công cụ bao phủ mã tốt.
  4. Báo cáo đẹp là tốt, nhưng không cần thiết.
  5. Nhiều cơ chế thông báo khi có sự cố.
  6. Tôi không lo lắng về việc lưu trữ. Tôi sẽ chạy nó trên máy chủ cục bộ hoặc trên phiên bản Amazon.
  7. Ngoài ra, đây có thể là chiếc bánh trên trời, nhưng liệu có thứ gì đó cũng có thể xây dựng ứng dụng iPhone không?

2
Chỉ để làm rối nước hơn nữa, bạn đã coi Team City chưa? Họ có phiên bản miễn phí (giới hạn bởi số người dùng). Tôi đã sử dụng nó trong quá khứ và thực sự thích thông tin nó cung cấp.
Shane Courtrille


2
Hãy tiếp tục xáo trộn nước :) Liemapp.com Điều này có thể được triển khai cho Heroku, vì vậy bạn có thể có một máy chủ CI miễn phí.
Nerian

Tôi chưa thấy TeamCity. Và tôi không nhận ra rằng Oracle đã ép Hudson trở thành Jenkins. Tôi sẽ chỉnh sửa câu hỏi để phản ánh điều này.
Karthik Ramachandran

2
Có một chủ đề về nó ở đây: forums.atlassian.com/message.jspa?messageID=257292121
sal

Câu trả lời:


50

Tuyên bố từ chối trách nhiệm: Tôi làm việc trên Bamboo và do đó tôi sẽ không bình luận về các tính năng của các sản phẩm CI khác vì kinh nghiệm của tôi với chúng còn hạn chế.

Để trả lời các yêu cầu cụ thể của bạn:

Xử lý nhiều ngôn ngữ

Bamboo đã hỗ trợ nhiều ngôn ngữ. Khách hàng sử dụng nó với Java, .Net, PHP, JavaScript, v.v. Như vậy, hầu hết các máy chủ xây dựng đều đủ chung để ít nhất thực thi một tập lệnh có thể khởi động quá trình xây dựng của bạn.

Triển khai tạo tác đến máy chủ (tức là triển khai chiến tranh nếu tất cả các bài kiểm tra đơn vị đều vượt qua.)

Bamboo 2.7 hỗ trợ Các giai đoạn xây dựng, cho phép bạn chia bản xây dựng của mình thành Giai đoạn thử nghiệm đơn vị và Giai đoạn triển khai. Chỉ khi Giai đoạn Kiểm tra Đơn vị thành công, bản dựng sẽ chuyển sang Giai đoạn Triển khai. Trong Bamboo 3.0, chúng tôi sẽ hỗ trợ chia sẻ Tạo tác giữa các giai đoạn, cho phép bạn tạo Tạo tác (ví dụ: cuộc chiến của bạn) trong Giai đoạn đầu tiên và sử dụng Tạo tác này trong các Giai đoạn sau để thử nghiệm và triển khai.

Tôi cũng muốn một cái gì đó được tích hợp với một công cụ bao phủ mã tốt.

Bamboo hỗ trợ cho Clover và cũng có một plugin cho Cobertura .

Báo cáo đẹp là tốt, nhưng không cần thiết.

Bamboo có một loạt các báo cáo rất hay, nhưng không cần thiết :)

Nhiều cơ chế thông báo khi có sự cố.

Bamboo có thể thông báo cho bạn qua email, RSS, IM, một plugin IDE hoặc một bảng treo tường đẹp mà cả nhóm có thể nhìn thấy.

Tôi không lo lắng về việc lưu trữ. Tôi sẽ chạy nó trên máy chủ cục bộ hoặc trên phiên bản Amazon.

Theo kinh nghiệm, việc lưu trữ máy chủ CI của riêng bạn thường rẻ hơn. Nhưng nếu bạn cần mở rộng quy mô, Bamboo giúp bạn dễ dàng phân phối các bản dựng của mình cho các đại lý địa phương khác hoặc mở rộng quy mô sang Amazon thông qua các đại lý Elastic.

Ngoài ra, đây có thể là chiếc bánh trên trời, nhưng có thứ gì đó cũng có thể tạo ứng dụng iPhone không?

Tương tự như câu trả lời cho câu hỏi đầu tiên của bạn, hầu hết các máy chủ CI sẽ có thể tạo ứng dụng iPhone theo một số cách. Tuy nhiên, có thể cần nhiều tập lệnh hơn một chút.

Giá cả: Bamboo không miễn phí (ngoài giấy phép bắt đầu miễn phí của chúng tôi ) / libre / mã nguồn mở, nhưng bạn sẽ nhận được mã nguồn của Bamboo nếu bạn mua giấy phép thương mại và hỗ trợ đầy đủ. So với chi phí sức mạnh tính toán và khả năng bảo trì cần thiết cho một máy chủ CI, chi phí cho giấy phép Bamboo là khá nhỏ.

Hi vọng điêu nay co ich.


15
Cơ cấu định giá của Bamboo còn thiếu sót. Nó không phân biệt giữa người dùng có bản dựng song song và người dùng chỉ cần các tác nhân từ xa để thử nghiệm đa nền tảng. Nếu bạn thử chạy một máy chủ xây dựng nhỏ cho Windows, Linux và Mac (thậm chí có thể là các phiên bản khác nhau của mỗi loại), giá nhanh chóng tăng lên hàng nghìn đô la một năm. Một cách tiếp cận tốt hơn sẽ là tính phí cho các bản dựng đồng thời.
Gili

Tính năng lớn của Bamboo chống lại jenkins là tự động hợp nhất các nhánh để ngăn chặn sự trôi dạt giữa các nhà phát triển trong đội. Nhưng đáng buồn là họ chỉ hỗ trợ điều này cho GIT và Mercurial nên bất kỳ ai sử dụng SVN hoặc bất kỳ thứ gì khác sẽ không hoạt động. Nhưng Jenkins có plugin SVN Merge cho phép chúng tôi làm điều đó.
george_h

1
@george_h Plugin GIT dành cho Jenkins hiện hỗ trợ tự động hợp nhất các chi nhánh. Tôi không chắc điều này được thực hiện khi nào.
slu

1
Thật tuyệt. Tôi thực sự đã sử dụng cả tre và jenkins và jenkins đã tốt hơn cho đến nay. Cuối cùng, tất cả chỉ là một máy chủ chạy Ant + Maven.
george_h

40

Tôi chưa sử dụng Bamboo nhưng tôi đã sử dụng Hudson, Cruise và TFS và trong số đó, Hudson là người giỏi nhất. Nó rất dễ thiết lập và có một giao diện web thực sự đẹp cho cấu hình dự án. Điều tuyệt vời về Hudson là nó hỗ trợ khá nhiều ngôn ngữ và tính năng bạn có thể muốn, giả sử ai đó đã viết một trình cắm cho nó, mà họ có thể có.

http://wiki.hudson-ci.org/display/HUDSON/Plugins

Chúng tôi đã sử dụng nó để chạy các bản dựng .NET, Java và C ++ trên các khoảng thời gian được định thời gian cũng như kiểm tra SVN với khai thác kiểm tra tự động và nó thật tuyệt. Nơi trước khi tôi làm việc đã bắt đầu phát triển một số iPhone ngay trước khi tôi rời đi và tôi tin rằng họ cũng đang sử dụng Hudson cho điều đó.

Ngoài ra, nó còn miễn phí!


35

Bamboo vs Hudson, ở một mức độ rất hời hợt, dường như đi xuống:

  • Tre: Dễ sử dụng và đẹp mắt
  • Jenkins: Xung quanh các cạnh thô ráp, nhưng linh hoạt hơn nhiều so với Tre

Cả Bamboo và Jenkins đều có rất nhiều lỗi (bạn sẽ gặp phải sự cố) nhưng ít nhất với Jenkins, bạn có nhiều khả năng có cách giải quyết cho đến khi nó được sửa. Với Bamboo, bạn phải chờ đợi bản cập nhật.


Tôi đã đoán rằng với Bamboo ít nhất bạn cũng có hỗ trợ thương mại cho điều đó.
keiki

3
@keiki, có và không. Có, bạn nhận được hỗ trợ thương mại nhưng tốn rất nhiều tiền (bạn cần tự hỏi bản thân xem chi phí / lợi ích có hợp lý không). Cần lưu ý rằng nhiều vấn đề bạn sẽ gặp phải là do thiếu các tính năng. Atlassian sẽ cố gắng hết sức để giúp bạn, nhưng vào cuối ngày họ có nguồn lực hạn chế và có thể mất nhiều năm để thêm các tính năng bạn yêu cầu (tùy thuộc vào mức độ phổ biến của chúng).
Gili

1
+1 về tính linh hoạt. Bamboo thực sự bị hạn chế đối với một công cụ hiện đại, cũng như đối với một công cụ CI, nơi mọi thứ không được thực hiện từ đầu. Trên hết, Atlassian không thể ưu tiên / xử lý các lỗi Bamboo theo cách chúng ta quen làm việc với OSS.
Paddy

16

Tuyên bố từ chối trách nhiệm: Tôi đang làm việc với Jenkins.

Trong tổ chức của chúng tôi (khá lớn, hơn 100 nhà phát triển), chúng tôi cũng thấy hai tính năng này rất hữu ích:

  1. Plugin CAS với chiến lược bảo mật dự án ma trận
  2. Xây dựng Plugin đường ống
  3. Lịch trình phát hành LTS.

Về câu hỏi của bạn:

  1. đồng ý
  2. SCP PLUGIN hoặc SSH PLUGIN
  3. Chúng tôi sử dụng FINDBUGS, Trình cắm thu thập phân tích tĩnh, Trình cắm phân tích mã tĩnh, Trình cắm trình quét tác vụ
  4. Trước tại điểm 3 + plugin Jenkins DocLinks
  5. Chúng tôi sử dụng email Jenkins Email Extension Plugin, nhưng nó cũng hỗ trợ các hệ thống khác, như rss, twitter Publishing, sms ...
  6. Chúng tôi đang chạy trong một Tomcat Hosting, cục bộ.
  7. Đúng.

5

Chà, cho đến nay tôi vẫn chưa sử dụng Bamboo, nhưng có một điểm khác biệt là Hudson là phần mềm miễn phí / libre / mã nguồn mở.


10
phản đối - câu trả lời này đúng, nhưng không đáng kể (có lẽ ai đó biết về cả hai sản phẩm đều biết điều này); OP đang tìm kiếm các so sánh tính năng.
Jason S

1

Nếu bạn sẵn sàng trả tiền cho nó, Anthill sẽ làm tất cả những điều bạn đang xem. Chúng tôi sử dụng nó tại công ty của tôi cho nhóm web của chúng tôi và nó khá mạnh mẽ.

Xử lý nhiều ngôn ngữ

Ngoài ra, nó tự động hóa các tập lệnh hiện có của bạn và quản lý các tạo tác mà chúng tạo ra bất kể ngôn ngữ nào.

Triển khai tạo tác đến máy chủ (tức là triển khai chiến tranh nếu tất cả các bài kiểm tra đơn vị đều vượt qua.)

Triển khai có thể được thêm vào như một bước trong quá trình xây dựng của bạn. Tôi không chắc bạn muốn triển khai trực tiếp vào sản xuất, nhưng bạn chắc chắn có thể làm được nếu ban quản lý cho biết bạn phải làm vậy.

Tôi cũng muốn một cái gì đó được tích hợp với một công cụ bao phủ mã tốt.

Chúng tích hợp ngay lập tức với Clover, Cobertura, Emma, ​​Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD và Sonar.

Báo cáo đẹp là tốt, nhưng không cần thiết.

Tôi không chắc những báo cáo nào có sẵn nhưng có một tab báo cáo (tôi không vào đó :-))

Nhiều cơ chế thông báo khi có sự cố.

Tôi biết nó có thể gửi email (và do đó sms), tích hợp với một số dịch vụ IM.

Tôi không lo lắng về việc lưu trữ. Tôi sẽ chạy nó trên máy chủ cục bộ hoặc trên phiên bản Amazon.

Tôi đã thấy bản demo về việc họ kích hoạt phiên đám mây từ một hình ảnh, hoàn chỉnh với một tác nhân để triển khai. Chúng tôi chạy nó trên một hộp Linux điển hình, nhưng tôi biết một số người chạy nó trên máy chủ VMWare.

Ngoài ra, đây có thể là chiếc bánh trên trời, nhưng có thứ gì đó cũng có thể tạo ứng dụng iPhone không?

Cái này có lẽ sẽ thuộc cái đầu tiên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.