jenkins-la-gi

Jenkins là gì? Những kiến thức cần biết

21/09/2022

TECHVIFY

Jenkins tham gia và đóng vai trò quan trọng trong bộ CI/CD. Để các bạn IT có thể thông thạo với nghiệp vụ hơn, cùng khám phá về Jenkins là gì và các đặc điểm.

Lập trình hiện đại cho phép nhà phát triển thực hiện các tác vụ tự động hóa trong lấy code, build…mà không cần các bước thủ công. Để có thể làm được như vậy, bạn cần có một phần mềm chuyên dụng để hỗ trợ. Vậy Jenkins là gì, cùng tìm hiểu rõ hơn về mã nguồn này qua thông tin sau đây.

Jenkins là gì?

Jenkins là một công cụ tự động hóa có mã nguồn mở được viết bằng ngôn ngữ lập trình Java kết hợp cùng với Plugin. Jenkins có mục đích chính đó là tích hợp liên tục CI- Continuous Integration để xây dựng, test các dự án phần mềm liên tục, hỗ trợ cho các nhà phát triển tích hợp các thay đổi vào dự án một cách thuận tiện và đơn giản.

Hơn nữa, Jenkins cũng cho phép người dùng liên tục cung cấp phần mềm qua phương pháp được tích hợp với số lượng lớn những công nghệ triển khai và thử nghiệm. Nhờ công cụ này, các tổ chức có thể đẩy nhanh quá trình phát triển phần mềm qua quá trình tự động hóa. Công cụ cho phép tích hợp các vòng đời của một quy trình xây dựng, gói, giai đoạn, phân tích…

jenkins la gi 1 TECHVIFY Careers

Jenkins là một công cụ tự động hóa có mã nguồn mở

Ứng dụng Jenkins hoạt động ra sao?

Để hiểu rõ hơn về Jenkins là gì, bạn cũng cần hiểu về cách thức hoạt động của công cụ này. Jenkins là ứng dụng dựa trên máy. Vậy nên, ứng dụng này yêu cầu một máy chủ như  Apache Tomcat để có thể chạy trên nhiều nền tảng khác nhau như macOS, Unix,  Windows…Để sử dụng Jenkins, bạn cần tạo nên những đường dẫn gồm một loạt các bước mà máy chủ Jenkins sẽ nhận. Bao gồm:

  • Máy chủ được tích hợp liên tục điển hình như CruiseControl, Jenkins, Bamboo, TeamCity,…
  • Các công cụ để kiểm soát nguồn điển hình như Mercurial, Perforce, CVS, SVN, GIT,…
  • Các công cụ xây dựng gồm:  Ivy, Gradle,  ANT, Make, Maven,…
  • Framework để kiểm tra tự động hóa như Appium, TestComplete, Selenium, UFT…
jenkins la gi 2 TECHVIFY Careers

Để sử dụng Jenkins, bạn cần tạo nên những đường dẫn gồm một loạt các bước

Tìm hiểu về CI và CD trong Jenkins là gì?

Jenkins được ứng dụng vào CI và CD, vậy nên bạn cũng cần phải nắm chắc những những quá trình này

CI (Continuous Integration)

CI tích hợp các thay đổi code từ nhiều nhà phát triển có trong dự án, phần mềm sẽ được kiểm tra ngay lập tức sau khi code commit. Theo đó, mỗi code commit, code  đều được tiến hành thử nghiệm để triển khai, Khi triển khai thành công, mã code được chuyển sang giai đoạn sản xuất. Và quá trình cam kết, xây dựng triển khai sẽ được thực hiện liên tục.

CD (Continuous Delivery)

CD là một quy trình triển khi tất cả những thay đổi có trong quá trình tự động test và deploy các mã trên các môi trường thử nghiệm và sản xuất. CD cũng hỗ trợ tự động hóa ứng dụng testing ngoài cách sử dụng units test. Theo đó, mục đích cuối cùng của CD chính là thử nghiệm phần mềm liên tục để kiểm tra hệ thống trước khi đến tay khách hàng.

jenkins la gi 4 TECHVIFY Careers

CD là một quy trình triển khi tất cả những thay đổi có trong quá trình tự động

Jenkins có những ưu và nhược điểm gì?

Jenkins hiện nay đang được áp dụng khá phổ biến, có những ưu điểm và hạn chế như sau:

Ưu điểm

Jenkins hiện nay đang được quản lý rất tích cực, mỗi tháng công ty  phát hành Jenkins đều triển khai những cuộc hộ để lấy ý kiến từ cộng đồng nhằm phát triển các dự án liên quan. Tính đến nay, Jenkins đã có khoảng 320 Plugin xuất bản ra thị trường trong cơ sở dữ liệu Plugin. Theo đó, công cụ này còn có những ưu điểm như:

  • Bên cạnh đó, công cụ này cũng đã hỗ trợ thực hiện kiến trúc đám mây cho phép người dùng triển khai Jenkins với các nền tảng đám mây.
  • Có thể tích hợp với nhiều nền tảng  CI/CD để hỗ trợ team được đồng bộ hóa.
  • Rất dễ dàng để phát hiện các lỗi khi dùng Jenkins từ đó fix nhanh chóng.
  • Rút ngắn thời gian bàn giao dự án đến khách hàng, công việc được linh hoạt hơn,
  • Hỗ trợ nhiều kho mã nguồn như SVN, Git,… để đặt các kích hoạt khác nhau khi thực hiện những thay đổi trong mã.

Nhược điểm

Bên cạnh những ưu điểm trên, người dùng cũng đánh giá Jenkins có những hạn chế đó là:

  • Giao diện đã lỗi thời, không còn thân thiện với xu hướng hiện tại.
  • Việc quản lý bảng điều khiển khó khăn bởi có quá nhiều công việc để thực hiện.
  • Việc bảo trì công cụ Jenkins không dễ dàng bởi phần mềm này chạy trên một máy chủ và đòi hỏi những kỹ năng quản trị máy chủ để giám sát hoạt động.
  • Có một số khó khăn khi cài đặt và cấu hình của Jenkins, bạn cũng phải tự bảo trì cơ sở hạ tầng.
  • Tích hợp liên tục có thể bị hư hỏng do những thay đổi nhỏ liên quan đến cài đặt.
  • Các thay đổi của một nhà phát triển có thể không được hiển thị với một nhà phát triển trong nhóm, và chỉ có người quản lý mới có thể truy cập làm cho việc theo dõi dự án gặp khó khăn.

Với những thông tin trên đây, bạn có thể hiểu hơn về Jenkins là gì và cách thức hoạt động của phần mềm này. Để bắt đầu theo đuổi sự nghiệp trong lĩnh vực công nghệ, các kiến thức liên quan càng phải được chú trọng tìm hiểu nhiều hơn nữa.

5/5 - (1 đánh giá)