Jenkins vs Travis-CI: Sự khác biệt là gì?

Mục lục:

Anonim

CI là gì?

Tích hợp liên tục là một phương pháp phát triển phần mềm mà các thành viên trong nhóm có thể tích hợp công việc của họ ít nhất một lần trong ngày. Trong phương pháp này, mọi tích hợp đều được kiểm tra bằng một bản dựng tự động để tìm kiếm lỗi. Khái niệm CI được giới thiệu lần đầu tiên hơn hai thập kỷ trước để tránh "địa ngục tích hợp", xảy ra khi quá trình tích hợp bị dừng cho đến khi kết thúc một dự án.

Trong hướng dẫn này, bạn sẽ học

  • CI là gì?
  • Travis CI là gì?
  • Jenkins là gì?
  • Travis làm gì?
  • Jenkin đã làm gì?
  • Các tính năng của Travis CI:
  • Tính năng Jenkin:
  • Travis và Jenkins
  • Chỉ số phổ biến
  • Cái nào tốt hơn?

CI hoạt động như thế nào?

  • Các nhà phát triển viết mã và cam kết các thay đổi đối với kho lưu trữ được chia sẻ
  • Sau đó, máy chủ CI giám sát kho lưu trữ và đánh giá tất cả các thay đổi
  • CI xây dựng hệ thống và tiến hành tích hợp và thử nghiệm đơn vị
  • Máy chủ phát hành các tạo tác có thể triển khai
  • Máy chủ tích hợp liên tục chỉ định thẻ xây dựng cho phiên bản và mã xây dựng
  • Sau đó, máy chủ CI báo cáo nhóm về việc xây dựng thành công. Nếu các thử nghiệm không thành công, máy chủ sẽ thông báo về sự kiện cho nhóm phát triển. Nhóm sẽ khắc phục sự cố nhanh nhất có thể.

SỰ KHÁC BIỆT CHÍNH

  • Travis CI là một công cụ CI thương mại trong khi Jenkins là một công cụ mã nguồn mở.
  • Travis CI mất rất ít thời gian để bắt đầu trong khi Jenkins cần thiết lập phức tạp.
  • Travis CI cung cấp tùy chọn tùy chỉnh ít hơn trong khi Jenkins cung cấp các tùy chọn tùy chỉnh rộng lớn.
  • Travis CI có tệp cấu hình YAML trong khi Jenkins cung cấp tùy chọn cấu hình đầy đủ cho người dùng.

Travis CI là gì?

Travis CI là CI đầu tiên như một công cụ Dịch vụ. Nó đã giới thiệu một cách tiếp cận mới để xây dựng mã trên đám mây. Công cụ CI này cho phép người dùng đăng ký, liên kết kho lưu trữ, xây dựng cũng như kiểm tra ứng dụng của họ.

Công cụ Travis CI có thể dễ dàng tích hợp với các kho lưu trữ đám mây phổ biến như GitHub và Bitbucket. Nó cung cấp nhiều tùy chọn CI tự động giúp loại bỏ nhu cầu về một máy chủ chuyên dụng vì máy chủ Travis CI được lưu trữ trên đám mây. Điều này cho phép bạn kiểm tra trong các môi trường khác nhau, trên các máy khác nhau, chạy trên các Hệ điều hành khác nhau.

Travis CI miễn phí cho các dự án mã nguồn mở. Đối với các dự án thương mại, bạn cần mua gói doanh nghiệp.

Jenkins là gì?

Jenkins là một công cụ tích hợp liên tục từng đoạt giải thưởng để giám sát việc thực thi các chu kỳ triển khai. Nó bắt đầu như một dự án phụ của nhóm kỹ sư phần mềm của Sun. Sau đó, nó được mở rộng như một trong những công cụ CI nguồn mở phổ biến giúp các nhóm phát triển phần mềm tự động hóa việc triển khai của họ.

Jenkins là một công cụ dựa trên Java, có nghĩa là bạn chỉ cần Java Runtime Environment để vận hành nó. Do đó, Jenkins có thể được cài đặt trên bất kỳ hệ điều hành nào mà Java chạy.

Trong công cụ này, Nhà phát triển cũng có thể chỉ định các điều kiện cho các bản dựng tùy chỉnh. Jenkins hỗ trợ một kho lưu trữ plugin lớn. Điều này cho phép các nhà phát triển thay đổi giao diện và hoạt động của Jenkin.

Hơn nữa, bộ plugin Jenkins Pipeline đi kèm với các công cụ đặc biệt cho phép các nhà phát triển lập mô hình các đường ống phân phối từ dễ đến phức tạp bằng phương pháp DSL (Digital Subscribe line).

Travis làm gì?

Travis CI cung cấp các lợi ích sau:

  • Bạn có thể giám sát các dự án GitHub
  • Chạy Kiểm tra và tạo ra kết quả nhanh chóng. Có thể thực hiện thử nghiệm song song.
  • Tạo hiện vật và kiểm tra chất lượng mã
  • Triển khai dễ dàng với các dịch vụ đám mây
  • Nó có thể xác định các thay đổi mã nhỏ cũng như lớn.
  • Các nhà phát triển có thể sử dụng Travis CI để xem các bài kiểm tra khi chúng đang chạy.
  • Công cụ này tích hợp với Slack, HipChat, Email, v.v.

Jenkin làm gì?

Jenkins cho phép bạn tự động hóa các tác vụ xây dựng, kiểm tra và triển khai. Công cụ này cung cấp hỗ trợ cho các hệ điều hành khác nhau như Windows, Mac OSX và Linux.

Hơn nữa, Jenkins cung cấp cho bạn khả năng nhanh chóng xây dựng và kiểm tra mã của bạn để nhận được phản hồi sớm về việc nó đã sẵn sàng để sản xuất hay chưa. Trong hầu hết các trường hợp, Jenkin sẽ yêu cầu một số sửa đổi theo yêu cầu tùy chỉnh của nhóm bạn.

Các tính năng của Travis CI:

  • Tích hợp tự động với GitHub
  • Quyền truy cập kho lưu trữ để xây dựng các yêu cầu kéo
  • Hỗ trợ 21 ngôn ngữ như Android, C, C #, C ++, Java, JavaScript (với Node.js), Perl, PHP, Python, R, Ruby, v.v.
  • Các công cụ xây dựng và kiểm tra được cài đặt sẵn
  • Các dịch vụ có sẵn - cơ sở dữ liệu, hàng đợi tin nhắn, v.v.
  • Triển khai nhiều dịch vụ đám mây
  • Mã hóa các biến hoặc tệp môi trường an toàn
  • Máy ảo được tạo lại sau mỗi lần xây dựng
  • Ứng dụng khách CLI và API để tạo tập lệnh
  • Đi kèm với dịch vụ lưu trữ dựa trên đám mây miễn phí không yêu cầu bảo trì hoặc quản trị.

Tính năng Jenkin:

  • Dễ dàng cài đặt, nâng cấp và cấu hình
  • Công trình phân tán
  • Giám sát công việc bên ngoài
  • Hơn 600 plugin để tùy chỉnh môi trường Jenkins của bạn
  • Hơn 1000 kho lưu trữ công khai trên Github, hơn 500 cộng tác viên, hoạt động cam kết mạnh mẽ
  • Hỗ trợ các phương pháp xác thực khác nhau, hệ thống kiểm soát phiên bản, thông báo, v.v.
  • Jenkins cung cấp API truy cập từ xa và các chức năng của nó.
  • Cung cấp công cụ CI / CD mạnh mẽ cho các dự án lớn
  • Nó hỗ trợ các mô hình công việc khác nhau như Freestyle, Pipeline, v.v.,
  • Cho phép các nhà phát triển thêm tiện ích mở rộng của họ
  • Tương thích với Docker, Libvirt, Kubernetes và nhiều chương trình khác

Travis và Jenkins

Tham số Jenkin Travis
Giá cả Jenkins miễn phí. Nhưng nhóm phát triển cần phải chạy và duy trì máy chủ chuyên dụng của họ. Đây có thể được coi là một khoản phụ phí. Các suite dành cho doanh nghiệp của Travis CI bắt đầu từ 129 đô la mỗi tháng. Tăng chi phí dựa trên mức độ hỗ trợ bạn yêu cầu.
Thiết lập thời gian Jenkins cần thiết lập công phu. Vì vậy, bạn sẽ phải đợi rất lâu để cài đặt hoàn chỉnh. Mất rất ít thời gian để bắt đầu. Tạo một tệp cấu hình và bắt đầu tích hợp.
Hiệu suất Nếu bạn đang tìm kiếm một công cụ CI với các tùy chọn tùy chỉnh không giới hạn, thì Jenkins là lựa chọn tốt nhất dành cho bạn. Travis CI là sự lựa chọn tốt nhất Nếu bạn đang làm việc trong một dự án mã nguồn mở.
Loại công cụ Nó là một mã nguồn mở miễn phí để sử dụng công cụ. Nó là một Công cụ CI thương mại
Sử dụng Dễ sử dụng Sử dụng linh hoạt
Github Tốt cho Github Tuyệt vời cho Github
Ủng hộ Được cộng đồng ủng hộ rộng rãi. Hỗ trợ cộng đồng còn hạn chế.
Ưu điểm
  • Tùy chỉnh là lợi ích lớn nhất của máy chủ Jenkins CI
  • Một kho lưu trữ plugin mở rộng có thể được định cấu hình để thay đổi giao diện của Jenkins.
  • Bạn cũng có thể thêm chức năng mới như xác thực, cảnh báo và thông tin đăng nhập.
  • Tích hợp với GitHub và đám mây
  • Các dự án mã nguồn mở không giới hạn với đầy đủ chức năng
  • Cấu hình dự án mở rộng qua tệp .travis.ymi
  • Cho phép kiểm tra cụm và chạy chúng song song
  • Nhiều môi trường xây dựng và nền tảng mục tiêu (tức là Node 0.10.0.8.0.6, Li on).
Nhược điểm
  • Một nhược điểm lớn của Jenkins đối với việc tích hợp liên tục là nó có khả năng cấu hình cao. Không có thiết lập ngoài hộp. Đó là lý do tại sao có thể mất 2-3 giờ đến vài ngày để cấu hình mọi thứ trong hệ thống.
  • Nhược điểm lớn nhất của việc cài đặt Travis CI là các gói Thương mại bắt đầu từ 129 đô la / m, khá đắt.
  • Không thích hợp cho các dự án bảo mật cao
  • Không giống như các công cụ CI khác, nó không cung cấp Hỗ trợ Bitbucket.
Kế hoạch sử dụng Miễn phí Miễn phí cho các dự án mã nguồn mở. Tuy nhiên, trả phí cho doanh nghiệp.
Máy chủ Dựa trên máy chủ Dựa trên đám mây
Tùy chọn tùy chỉnh Hơn Ít hơn
Cấu hình Hoàn toàn tùy biến YAML
Kiểm soát trên hệ thống Đầy Rất ít

Chỉ số phổ biến

Số lượng câu hỏi có nhãn Jenkins và Travis trong Stack Overflow.

Cái nào tốt hơn?

Vì vậy, với cuộc thảo luận ở trên, chúng ta có thể hiểu rằng Travis và Jenkins đều cung cấp các tính năng tuyệt vời. Tuy nhiên, các dự án mã nguồn mở nhỏ là phù hợp nhất với Travis CI vì nó dễ chạy và thiết lập nhanh chóng. Mặt khác, doanh nghiệp lớn phù hợp nhất với Jenkins vì nó cung cấp giấy phép miễn phí cho một dự án tư nhân và một loạt các tính năng có thể tùy chỉnh. Vì vậy, chúng ta có thể nói rằng cả hai công cụ tích hợp liên tục này đều tốt theo cách của chúng.