Cá nhân tôi chỉ sử dụng CruiseControl và CruiseControl.Net. Lý do cho điều này có liên quan đến kinh tế. Chúng ổn định một cách hợp lý và một khi bạn thiết lập chúng, thực sự có rất ít việc bạn cần làm để duy trì nó. Cộng đồng người dùng thường rất hữu ích và có thể mở rộng theo nhu cầu của bạn.
Điều đó nói rằng, có một vài dịch vụ thương mại có sẵn mà tôi biết (một của JetBrains, một của Atlassian) cung cấp trải nghiệm thiết lập tốt hơn và hỗ trợ thương mại. Tôi đã có ý định thử những dịch vụ này nhưng thực sự vẫn chưa có cơ hội.
Các công cụ CI có vai trò quan trọng hơn với các ngôn ngữ được biên dịch so với các ngôn ngữ được dịch, nhưng điều đó không có nghĩa là công cụ CI bị lãng phí đối với các ngôn ngữ được dịch. Khi bạn có một số dự án phụ thuộc lẫn nhau và bạn muốn chắc chắn rằng một thay đổi không vô tình phá vỡ sự phụ thuộc của nó - các công cụ CI là vô giá.
Có ba loại vấn đề chung mà các công cụ CI có thể giúp bạn nắm bắt:
- Biên dịch lỗi - nếu chữ ký của một lớp thay đổi theo cách phá vỡ các phụ thuộc, tốt nhất bạn nên biết về nó trước giờ tan biến của việc giao hàng.
- Lỗi logic - nếu hành vi của một lớp thay đổi theo cách phá vỡ sự phụ thuộc, tốt nhất nên biết về nó sớm. Điều này phải được kiểm tra bằng một số loại thử nghiệm tự động, phổ biến nhất là thử nghiệm đơn vị.
- Kiểm tra chấp nhận - nếu bạn có một bộ kiểm tra tự động để chạy trên sản phẩm hoàn chỉnh, tốt nhất nên chạy chúng thường xuyên.
Các ngôn ngữ được giải thích không được biên dịch, do đó không có lỗi biên dịch để bắt. Tuy nhiên, hai vấn đề khác đủ phổ biến để các công cụ CI hữu ích cho các dự án trong Ruby / Python / Perl / etc.
Từ khóa trong cả lỗi logic và điểm kiểm tra chấp nhận là kiểm tra "tự động". Nếu bạn không có bộ kiểm tra mà máy có thể chạy, thì bạn thực sự đang thiếu những lợi ích lớn hơn của các công cụ CI. Bộ tự động có thể được xây dựng theo thời gian, vì vậy bạn có thể bắt đầu nhỏ.
Chỉnh sửa
Xem biểu đồ đẹp này để so sánh các tính năng của một số lượng lớn Công cụ CI (nhiều trong số đó tôi không biết):
http://confluence.public. Dùtworks.org/display/CC/CI+Feature+Matrix