Jenkin là gì? Ưu, nhược điểm Jenkin? Tại sao nên sử dụng Jenkin?
- 23/06/2022
- LANIT JSC
Với Jenkins, các tổ chức có thể đẩy nhanh quá trình phát triển phần mềm thông qua tự động hóa. Jenkins tích hợp các quy trình vòng đời phát triển phần mềm từ xây dựng, thử nghiệm, lập tài liệu phần mềm, triển khai và các giai đoạn khác của vòng đời phát triển phần mềm.
Jenkins là gì?
Jenkins là công cụ tự động hóa mã nguồn mở viết bằng Java với các plugin được xây dựng cho mục đích tích hợp liên tục. Jenkins được sử dụng để xây dựng và kiểm tra các dự án phần mềm liên tục, giúp các nhà phát triển tích hợp các thay đổi vào dự án dễ dàng hơn và giúp người dùng có phiên bản mới dễ dàng nhanh chóng hơn.
Ưu điểm của Jenkins
- Dễ cài đặt, sử dụng với giao diện trực quan giúp người dùng tạo và quản lý các pipeline CI/CD dễ dàng.
- Jenkins Có hơn 1000 plugin để bạn dễ dàng làm việc. Nếu một plugin không tồn tại, bạn có thể viết lại mã nó
- Jenkins là mã nguồn mở sử dụng Miễn phí.
- Được xây dựng bằng Java vì thế có thể di chuyển đến các nền tảng chính.
- Hỗ trợ đa nền tảng như Windows, Linux, macOS giúp Jenkins dễ dàng tích hợp vào hầu hết các môi trường làm việc
- Jenkins có thể mở rộng để chạy trên nhiều máy chủ với tính năng Jenkins Master-Slave, giúp tăng hiệu suất xây dựng, kiểm thử và triển khai.
Tích hợp bằng Jenkins tốt hơn các công cụ Tích hợp liên tục khác, bởi vì:
- Jenkins là một ứng dụng được sử dụng rộng rãi trên khắp thế giới với khoảng 300 nghìn lượt cài đặt và đang phát triển từng ngày, hiện nay có hơn 1 triệu người dùng trên khắp thế giới.
- Jenkins được kết nối với nhau, với hơn 1.000 plugin, cho phép nó tích hợp với hầu hết các công cụ phát triển, thử nghiệm và triển khai.
Rõ ràng là từ những điểm trên Jenkins có nhu cầu rất lớn. Trước khi chúng ta đi sâu vào Jenkins, điều quan trọng là phải biết Tích hợp liên tục là gì
Tại sao lại sử dụng Jenkins
Ta hãy so sánh phần mềm tạo ra trước khi có Jenkins
- Để được test ứng dụng, Các nhà phát triển phải đợi phần mềm xây dựng hoàn chỉnh.
- Khả năng cao kết quả hiển thị bị lỗi (Vì không thể xây dựng phần mềm một lần là hoàn chỉnh). Và Rất khó cho các nhà phát triển tìm ra những lỗi đó vì họ phải kiểm tra toàn bộ mã nguồn khủng của ứng dụng đó -> Làm chậm quá trình phân phối phần mềm
- Toàn bộ quy trình là thủ công làm tăng nguy cơ thất bại thường xuyên.
Những vấn đề trêu khiến quá trình cung cấp phần mềm chậm chạp mà chất lượng phần mềm cũng đi xuống. Vì vậy, rất cần một hệ thống giúp các nhà phát triển liên tục kiểm tra mọi thay đổi trong mã nguồn. Và Jenkins ra đời khắc phục vấn đề trên.
Đầu tiên chúng tôi cung cấp và giải thích cho các bạn một sơ đồ Tích hợp liên tục với Jenkins
Sơ đồ trên mô tả:
- Bước 1, nhà phát triển cam kết mã vào kho lưu trữ mã nguồn. Máy chủ Jenkins kiểm tra kho lưu trữ định kỳ để tìm các thay đổi.
- Ngay sau khi một cam kết xảy ra, máy chủ Jenkins phát hiện những thay đổi đã xảy ra trong kho mã nguồn. Jenkins thực hiện những thay đổi đó và chuẩn bị một bản dựng mới.
- Nếu quá trình xây dựng không thành công, sẽ được thông báo.
- Nếu quá trình xây dựng thành công, Jenkins sẽ xây dựng phần mềm và thử nghiệm trong máy chủ
- Sau khi thử nghiệm, Jenkins tạo phản hồi và thông báo cho các nhà phát triển về kết quả xây dựng và thử nghiệm.
- Nó sẽ tiếp tục kiểm tra kho lưu trữ mã nguồn để tìm những thay đổi được thực hiện trong mã nguồn, toàn bộ quá trình tiếp tục lặp lại.
Mặc dù Jenkins là một công cụ rất mạnh, nhưng nó có những nhược điểm:
- Giao diện khá lỗi thời, không thân thiện với người dùng
- Mặc dù Jenkins được nhiều nhà phát triển yêu thích, nhưng việc sử dụng nó không dễ dàng vì Jenkins chạy trên một máy chủ và yêu cầu một số kỹ năng như quản trị viên máy chủ để giám sát hoạt động của nó.
- Một trong những lý do tại sao nhiều người không triển khai Jenkins là do gặp khó khăn trong việc cài đặt và định cấu hình Jenkins.
Bài viết trên LANIT gửi tới các bạn cái nhìn cơ bản nhất về công cụ Jenkins. Hy vọng bài viết này mang tới thông tin hữu ích cho anh chị. Cảm ơn đã đọc!