Jenkins là gì? Tìm hiểu chi tiết về phần mềm Jenkins

jenkins-la-gi

Lập trình hiện đại cho phép nhà phát triển thực hiện các tác vụ như lấy code mới nhất, build, deploy,..một cách tự động hóa và bỏ qua các bước thủ công như trước đây. Để làm được như vậy, họ phải cần một số phần mềm chuyên dụng, điển hình là Jenkins. Vậy Jenkins là gì? Các bạn hãy tham khảo bài viết dưới đây để hiểu rõ hơn về Jenkins nhé!

Jenkins là gì?

Khái niệm Jenkins

Jenkins là một công cụ tự động hóa có mã nguồn mở được viết bằng Java kết hợp với nhiều Plugin, Jenkins có mục đích chính là tích hợp liên tục (hay còn gọi là CI- Continuous Integration). Công cụ này đượ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 một cách dễ dàng hơn.

Jenkins cũng cho phép bạn liên tục cung cấp phần mềm của mình bằng cách tích hợp với một số lượng lớn các công nghệ thử nghiệm hoặc đã triển khai.

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 vòng đời phát triển của một quy trình bao gồm xây dựng, tài liệu, thử nghiệm, gói, giai đoạn, triển khai, phân tích tĩnh,…

Bên cạnh đó, các Plugin trong Jenkins cho phép tích hợp các giai đoạn DevOps khác nhau. Nếu bạn muốn tích hợp một công cụ cụ thể, bạn cần cài đặt Plugin cho công cụ đó.

Lịch sử ra đời của phần mềm Jenkins

Dự án Jenkins được bắt đầu vào năm 2004 bởi Kohsuke Kawaguchi, khi ông đang làm việc cho Sun Microsystems. Kohsuke là một nhà phát triển tại Sun và cảm thấy mệt mỏi khi phải hứng chịu các cơn thịnh nộ của nhóm mình mỗi khi code của anh ta thất bại.

Kohsuke đã tạo ra Jenkins như một cách để thực hiện tích hợp liên tục. Sau đó, Kohsuke đã mở nguồn và tạo ra dự án Jenkins. Chẳng bao lâu sau, việc sử dụng Jenkins đã lan rộng khắp thế giới. Bản Jenkins đầu tiên được phát hành vào tháng 2 năm 2005.

Sau khi Oracle mua lại Sun Microsystems, cộng đồng Hudson đã chấp thuận những đề xuất để tạo ra dự án Jenkins. Vào tháng 2 năm 2011, Hudson đã được tách ra thay vì đổi tên thành Jenkins.

Mặc dù Hudson và Jenkins được phát triển độc lập, Jenkins lại có được nhiều dự án và cộng tác viên hơn Hudson. Do đó, Hudson đã không còn được cộng đồng duy trì.

Đến năm 2014, Kawaguchi đã trở thành CTO của CloudBees, một công ty chuyên cung cấp các sản phẩm dựa trên chính nền tảng Jenkins.

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

Jenkins là một ứng dụng dựa trên máy chủ và đòi hỏi phải có một máy chủ web như Apache Tomcat để chạy trên các nền tảng khác nhau như Windows, Linux, macOS, Unix,..Để sử dụng Jenkins, bạn cần tạo các đường dẫn gồm một loạt các bước mà một máy chủ Jenkins sẽ nhận. Tích hợp liên tục là một công cụ mạnh mẽ bao gồm một bộ công cụ được thiết kế để lưu trữ, giám sát, biên dịch và kiểm tra mã hoặc các thay đổi mã.

CI và CD trong Jenkins

CI (Continuous Integration)

CI là viết tắt của Continuous Integration, tạm dịch: Tích hợp liên tục. Đây là một quá trình tích hợp các thay đổi code từ nhiều nhà phát triển trong một dự án. Phần mềm được kiểm tra ngay lập tức sau khi code commit. Với mỗi code commit, code sẽ được tiến hành xây dựng và thử nghiệm. Nếu thử nghiệm được thông qua, bản dựng sẽ được thử nghiệm để triển khai. Nếu việc triển khai thành công, mã sẽ được chuyển sang sản xuất.

Quá trình cam kết, xây dựng, kiểm tra và triển khai này là một quá trình liên tục và do đó mới được gọi là tích hợp/triển khai liên tục.

CD (Continuous Delivery)

CD là viết tắt của Continuous Delivery, tạm dịch: Chuyển giao liên tục. Đây là quy trình triển khai tất cả thay đổi trong quá trình tự động test và deploy các code lên các môi trường staging và production. Ngoài ra, CD còn hỗ trợ tự động hóa phần testing bên cạnh việc sử dụng units test. Mục đích của CD là thử nghiệm phần mềm liên tục để kiểm tra hệ thống trước khi bàn giao cho khách hàng.

Ưu điểm và nhược điểm của Jenkins

Ưu điểm

Nhược điểm

Hướng dẫn cách cài đặt Jenkins

Bước 1: Download Jenkins tại đây

Bước 2: Giải nén file Jenkins đã tải xuống

Bước 3: Thực hiện các thao tác để cài đặt

Bước 4: Tự động chuyển hướng đến trang Jenkins hoặc bạn cũng có thể truy cập tại đây.

Bước 5: Để mở khóa Jenkins, bạn hãy truy cập theo đường dẫn sau: C: \ Program Files (x86)\Jenkins\secret\initialAdminPassword. Sau đó copy và dán vào Administrator password như trên hình rối nhấp “Continue”.

Bước 6: Bạn có thể bắt đầu cài đặt các Plugin cho Jenkins

Bước 7: Tạo user và nhập các thông tin cần thiết sau đó chọn Save and Continue -> Save and Finish -> Start using Jenkins

Bước 8: Sau khi hoàn tất thiết lập, bạn có thể truy cập vào giao diện chính của Jenkins

Tóm lại, Jenkins là một công cụ tuyệt vời để các nhà phát triển thực hiện công việc lập của mình một cách nhanh chóng và hiệu quả hơn. Bài viết đã giới thiệu một số thông tin về Jenkins, bạn hãy tham khảo để sử dụng nhé!

FAQs về Jenkins

Bảo mật của Jenkins là gì?

Bảo mật của Jenkins chủ yếu là bảo vệ các máy chủ và người dùng. Quyền truy cập vào nơi lưu trữ như máy ảo hay một máy chủ vật lý nào đó sẽ được cấu hình sao cho số lượng process kết nối tới nó là ít nhất. Điều này sẽ được thực hiện thông qua một số tính năng của hệ điều hành và các tính năng bảo mật kết nối mạng.

Ngoài ra, quyền truy cập vào giao diện UI của Jenkins được hạn chế bằng cách sử dụng bảo mật xác thực đa yếu tố (Multifactor Authentication).

Làm sao đảm bảo cơ sở dữ liệu Jenkins an toàn?

Với Jenkins, có nhiều cách để đảm bảo an ninh ở mức cao nhất, nhưng một cách đáng chú ý nhất là chạy kiểm tra bảo mật, giữ an ninh toàn cầu, giữ cho cơ sở dữ liệu được bảo vệ ở mức vật lý (tránh người tiếp cận trái phép),..

Có nên sử dụng Jenkins cùng với Selenium không?

Bạn có thể sử dụng kết hợp hai công cụ này chúng sẽ đem lại những lợi ích nhất định. Khi kết hợp như vậy, việc chạy thử nghiệm sẽ được diễn ra ngay lập tức mỗi khi chương trình của bạn có thay đổi hoặc chỉnh sửa.

Pipeline là gì?

Thuật ngữ “pipeline” thường được sử dụng để mô tả quá trình từ các giai đoạn đầu tiên của một dự án đến khi phát hành ra công chúng.

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO

Exit mobile version