So sánh Máy chủ CI? [đóng cửa]


87

Tôi đang tìm kiếm so sánh giữa các Máy chủ tích hợp liên tục (CI) khác nhau (đặc biệt là tập trung vào .NET) và không thể tìm thấy bất kỳ máy chủ nào.

Vì vậy, tôi muốn biết bạn nghĩ gì về các giải pháp khác nhau có sẵn, ưu và nhược điểm là gì, yêu cầu lưu trữ là gì và tại sao CI Server XY là Máy chủ mà bạn lựa chọn.

Tôi quan tâm đến suy nghĩ của bạn (vui lòng bình luận về những người khác):

Điểm quan tâm là:

  • Cấu hình (dễ dàng, linh hoạt)
  • Tích hợp với SCM (đặc biệt là DSVC như git hoặc hg)
  • Tích hợp với hệ thống xây dựng (MSBuild, NAnt, Rake)
  • Tích hợp với Khung thử nghiệm
  • Tích hợp với Source Anaylsis (Simian, NDepend, FxCop, NCover, v.v.)
  • WebInterface / Trang tổng quan
  • Yêu cầu cơ sở hạ tầng

31
27 người thấy điều này hữu ích - nhưng nó đã đóng cửa. Tiếng thở dài
Ryan

CruiseControl.NET đã di chuyển, sau khi hợp tác với Thoughtworks kết thúc. Url mới: cruisecontrolnet.org
Jowen

2
@Ryan có rất nhiều thứ thú vị trên thế giới không phù hợp với SO.
Andy Wiesendanger

Tại sao không phải là Azure DevOps ?
zwcloud

Câu trả lời:


51

Không có câu hỏi nào như thế này là hoàn chỉnh nếu không có liên kết đến Ma trận tính năng CI lớn (Kho lưu trữ web) liệt kê mọi tùy chọn CI ngoài đó.

Nhưng tôi nghĩ điều quan trọng là phải nhìn trước phạm vi những gì bạn muốn đưa vào hệ thống CI của mình. Nó sẽ chỉ là các bản dựng hay bạn sẽ đưa vào các yếu tố khác như phân tích tĩnh, phụ thuộc nhiều dự án, triển khai, kiểm tra chức năng, v.v. Để giúp lập kế hoạch đó, tôi đã tạo bảng vẽ tường này trên Elements of Enterprise CI (PDF ; không cần đăng ký). Xin đừng để "E-word" làm bạn nản lòng; Ý tôi chỉ là những thứ ngoài bản dựng CI phản hồi nhanh cơ bản. :)

Nó không phải là công cụ cụ thể nhưng liệt kê nhiều phương pháp bạn có thể cân nhắc khi đang trong giai đoạn lập kế hoạch / đánh giá.


5
Hừ! Ma trận đó bị "DeathByOverload". Basic UX ra lệnh rằng các lưới lớn là vô dụng trừ khi có bộ lọc. Để thêm sự xúc phạm đến thương tích, không có tải xuống (csv) và đánh dấu không thể tải xuống trực tiếp. Ngay cả điều đó đã chống lại việc sao chép vào excel ... Tôi đã từ bỏ.
xem

4
Liên kết Ma trận tính năng đã chết :(
Marty



1
Trang lưu trữ không hoạt động do robots.txt
Sebazzz

14

1
Tôi đồng ý rằng SO đã có khá đầy đủ các so sánh của các máy chủ CI. Tôi không biết về Teamcity và CIFactory, nhưng với CC (.net) và Hudson, sự lựa chọn ngày nay khá rõ ràng; đây là công việc của tôi: stackoverflow.com/questions/604385/… . (Đừng bận tâm sự nhấn mạnh Java trong câu hỏi đó; Hudson là rất tốt cho NET quá: stackoverflow.com/questions/616149/... )
Jonik

@Jonik Cảm ơn, liên kết rất tốt. Tôi không biết làm thế nào tôi đã bỏ lỡ chúng, cả hai đều cung cấp câu trả lời tuyệt vời và thông tin rất hữu ích.
Pascal Thivent, 17/09/09

"không biết về Teamcity và CIFactory" ... đó chính xác là lý do tại sao tôi muốn có một so sánh rõ ràng KHÔNG chỉ giải quyết x so với y Đó là lý do tại sao nó là wiki cộng đồng, vui lòng trích xuất kết luận từ các liên kết được tham chiếu.
Johannes Rudolph

@Johannes, đủ công bằng; Tôi đồng ý rằng hầu hết các câu hỏi hiện tại có phạm vi hạn chế hơn điều này. Nhưng có thể không có nhiều người dùng ở đây có kinh nghiệm với tất cả Hudson, CC, Teamcity và CIFactory có thể đưa ra một so sánh tốt. Nếu bạn cần một máy chủ CI, lời khuyên của tôi (từ kinh nghiệm cá nhân và ví dụ: phiếu bầu trên stackoverflow.com/questions/140453/… ) là hãy thử Hudson trước.
Jonik 19/09/09

7

TeamCity có một tính năng tuyệt vời là cho phép nhà phát triển thực hiện xây dựng cá nhân trước khi cam kết. Rất hữu dụng!

CruiseControl.NET là ông lớn của nhóm và do đó hơi lỗi thời về mặt hình ảnh, v.v. Vì nó đã tồn tại được một thời gian, Google biết cách khắc phục nhiều vấn đề mà bạn sẽ gặp phải.

Vì những lý do này (trong số những lý do khác), tôi sử dụng CruiseControl.NET tại nơi làm việc và TeamCity ở nhà và trong cuộc sống nguồn mở của tôi :)


À, CC.Net có phải là .net-port của CruiseControl không?
Mnementh 17/09/09

5

Tôi là người dùng CruiseControl.NET mọi lúc mọi nơi. Các nhóm của tôi sử dụng nó tại nơi làm việc và tôi sử dụng nó ở nhà cho các dự án cá nhân.

Đặc biệt, CruiseControl.NET cho phép tôi chạy qua toàn bộ quy trình CI: xây dựng, cập nhật phiên bản, kiểm tra đơn vị và tích hợp, lưu trữ ứng viên nguồn hoặc phát hành, phạm vi mã, thậm chí triển khai hệ thống kiểm tra của chúng tôi tại nơi làm việc. Nó có khả năng tùy biến cao, hoạt động tốt với MSBuild và NAnt, và thậm chí có kiến ​​trúc plug-in có thể mở rộng.

Nó làm được mọi thứ tôi cần.

Nhược điểm lớn nhất: cấu hình đôi khi là một khó khăn và có thể mất thời gian. Nhưng một khi hoàn thành, nó đã hoàn thành và như một người đăng khác đã nói, tôi thích nhìn thấy tín hiệu "xây dựng thành công" bởi vì tôi biết rằng không chỉ bản dựng đã hoạt động mà còn cả các bài kiểm tra đơn vị và tích hợp của tôi đều chạy thành công.


2

Team Foundation Build là một tùy chọn cũng như nó tương tác rất tốt với Team Foundation Server. Nó miễn phí miễn là bạn đã cấp phép TFS.


Tôi nghĩ sẽ không ai nhắc đến Hệ thống xây dựng TFS, được tích hợp hoàn toàn với TFS và được hỗ trợ bởi Microsoft. Hầu hết các nhà phát triển .Net có thể đã cài đặt TFS.
Diego Mendes

Đội xây dựng trong TFS 2015/2017 là dễ dàng hơn để cấu hình và sử dụng, và bạn thậm chí có thể theo dõi họ trong thời gian thực với CatLight xây dựng màn hình
Thomas Bennet

Có lẽ một lý do mà nó không được đề cập đến ... 2 xu của tôi: chỉ mới bắt đầu làm việc trên dự án sử dụng nó, chúng tôi đang cố gắng cải thiện tự động hóa của mình và thiết lập đường ống phân phối ... nhưng thỉnh thoảng CI "hết phút "và đoán xem ... bạn cần trả tiền trong vài phút. Đó là lý do tôi ở trên chủ đề này ...
Julia

1

Chúng tôi sử dụng Hudson tại nơi làm việc. Lý do chính là nó rất dễ cài đặt. Bạn có thể trực tiếp thực hiện cuộc chiến (đó là một jar thực thi) hoặc triển khai nó tại bất kỳ thùng chứa servlet nào. Và bạn đã sẵn sàng để bắt đầu. Ngoài ra Hudson hỗ trợ nhiều công cụ và có thể mở rộng thông qua hệ thống plugin của nó.


1

Chúng tôi chuyển từ CruiseControl.NET sang TeamCity chủ yếu vì dễ cấu hình. TeamCity cũng có nhiều tính năng hơn, nhưng lý do chính là giao diện người dùng Web đẹp dễ sử dụng hơn các tệp cấu hình XML.

CHỈNH SỬA: Hầu hết các nhiệm vụ TeamCity sẽ thực hiện ngay lập tức; khi cần thiết chúng tôi sử dụng NAnt.


1

CruiseControl.NET - có thể hơi khó thiết lập (cũng như hầu hết các hệ thống CI), nhưng nó đáng để duy trì. Tôi hiện đã thiết lập nó để chạy các bài kiểm tra đơn vị khi hoàn thành các bản dựng và để sản xuất trình cài đặt Wix theo yêu cầu. Như Dan đã nói, nó trông hơi cũ, nhưng điều đó không quan trọng, vì nó cung cấp cho bạn nhiều thông tin dễ lấy và dễ đọc.

Một điều - hãy đảm bảo rằng tất cả các nhà phát triển của bạn đã cài đặt, chạy CC Tray và trỏ đến các bản dựng của họ. Thật là một cảm giác tuyệt vời khi nhận được "Một bản dựng thành công khác" trong khay thông báo của bạn.


0

Chúng tôi đang sử dụng ccnet tại nơi làm việc, điều này phù hợp với hầu hết các nhu cầu của chúng tôi (chúng tôi có khoảng 50 bản dựng tự động), nhưng nó cần một người để chỉnh sửa và sửa chữa toàn thời gian.

Nếu bạn đang bắt đầu từ đầu, hãy xem Bamboo. Chúng tôi đã xem xét nó và nó có vẻ rất hứa hẹn, nhưng nó không hoàn toàn phù hợp với nhu cầu của chúng tôi và chúng tôi đã đầu tư quá nhiều thời gian vào ccnet để chuyển sang Bamboo ngay bây giờ.

Trân trọng,

Sebastiaan


0

Tôi thừa hưởng một máy chủ luntbuild. Không phải là một lựa chọn tốt cho một dự án .NET. Nếu bạn thấy rằng bạn liên tục quay trở lại sử dụng máy chủ xây dựng để chạy các tác vụ dòng lệnh chung, thì có gì đó không ổn. Một máy chủ xây dựng tốt có hiểu biết tốt về đầu ra của các bài kiểm tra đơn vị và các tác vụ msbuild không chỉ là các lệnh không rõ ràng sẽ được chạy khi hệ thống điều khiển nguồn thay đổi.

Tôi thích di chuyển đến Team City.


0

Tôi khá mới với cảnh CI và tôi đang tập trung nỗ lực vào CruiseControl.NET, sử dụng NAnt và Ivy để xây dựng các dự án .NET của mình.

Tôi thấy rằng CruiseControl.NET rất thích nghi với nhiều công cụ khác, chẳng hạn như NCover / NUnit / etc. Tất cả chúng đều cắm vào điều này và tích hợp các kết quả cho một quá trình xây dựng kết hợp.

Tôi sẽ xem xét TeamCity trong tương lai gần vì lợi ích của riêng tôi, nhưng tôi nghĩ rằng CruiseControl làm rất tốt, nhưng chỉ tốt như các kịch bản xây dựng của bạn! Nếu đây là những chiếc quần, thì bản dựng của bạn chỉ có thể được mong đợi là tốt.

Nhưng tóm lại, CruiseControl.NET là một giải pháp tốt, nhưng tôi vẫn chưa tìm ra mức độ tốt của đối thủ khi so sánh.


0

Chúng tôi hài lòng với Hudson . Tôi không có gì để so sánh với nó, nhưng nó rất đơn giản để cấu hình và chạy. Hiện tại, nó chỉ xây dựng các dự án Win32 C ++ và một trình cài đặt, nhưng chúng tôi đang chuyển sang Linux và nó cũng sẽ hoạt động với điều đó.

Nhận kho lưu trữ Subversion mà không gặp bất kỳ sự cố nào và gửi cảnh báo, v.v. Chúng tôi thích nó cho đến nay. Một lần nữa, chúng tôi có ít kinh nghiệm so sánh.


0

Tôi đã làm việc với CruiseControl.NET, TFS 2012 và TeamCity 7.x trong vài năm và tôi tin rằng TeamCity là TỐT NHẤT do dễ sử dụng, giao diện người dùng thoải mái và nhiều thông tin cũng như các tính năng thú vị khác như phụ thuộc xây dựng và nhiều hơn nữa. Nó chỉ hoạt động, tôi thích 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.