Hướng dẫn Jenkins | Tích hợp liên tục bằng Jenkins | Edureka



Jenkins Tutorial là blog thứ hai của loạt blog Jenkins. Blog này nói về kiến ​​trúc phân tán Jenkins và cách tạo một bản dựng bằng Jenkins.

Hướng dẫn Jenkins

Jenkins là một trong những công cụ quan trọng nhất trong . Tôi hy vọng bạn đã đọc blog trước của tôi trên . Trong blog Hướng dẫn Jenkins này, tôi sẽ tập trung vào kiến ​​trúc Jenkins và đường ống xây dựng Jenkins cùng với đó tôi sẽ chỉ cho bạn cách tạo một công trình trong Jenkins.

Trước khi chúng tôi tiếp tục với Hướng dẫn Jenkins, các điểm rút ra chính từ blog trước là:





  • Jenkins được sử dụng để tích hợp tất cả các giai đoạn DevOps với sự trợ giúp của các plugin.
  • Các plugin Jenkins thường sử dụng là Git, Amazon EC2, dự án Maven 2, nhà xuất bản HTML, v.v.
  • Jenkins có hơn 1000 plugin và147.000 lượt cài đặt đang hoạt động cùng với hơn 1 triệu người dùng trên khắp thế giới.
  • Với Tích hợp liên tục mọi thay đổi được thực hiện trong mã nguồnđược xây dựng. Nó cũng thực hiện các chức năng khác,điều đó phụ thuộc vào công cụ được sử dụng cho Tích hợp liên tục.
  • Nokia chuyển từ chế tạo ban đêm sang Tích hợp liên tục.
  • Quy trình trước khi Tích hợp liên tục có nhiều sai sót. Kết quả là không chỉ việc phân phối phần mềm bị chậm mà chất lượng phần mềm cũng không được như ý. Các nhà phát triển cũng gặp khó khăn trong việc xác định vị trí và sửa lỗi.
  • Tích hợp liên tục với Jenkins đã khắc phục những thiếu sót này bằng cách liên tục kích hoạt xây dựng và kiểm tra mọi thay đổi được thực hiện trong mã nguồn.

Bây giờ là thời điểm chính xác để hiểu kiến ​​trúc Jenkins.

Kiến trúc Jenkins

Hãy để chúng tôi sửa đổi kiến ​​trúc Jenkins độc lập mà tôi đã giải thích cho bạn trong , sơ đồ dưới đây mô tả tương tự.



Kiến trúc độc lập của Jenkins - Jenkins là gì - Edureka

Máy chủ Jenkins duy nhất này không đủ để đáp ứng các yêu cầu nhất định như:

  • Đôi khi bạn có thể cần một số môi trường khác nhau để kiểm tra các bản dựng của mình. Điều này không thể được thực hiện bởi một máy chủ Jenkins duy nhất.
  • Nếu các dự án lớn hơn và nặng hơn được xây dựng thường xuyên thì một máy chủ Jenkins đơn lẻ không thể xử lý toàn bộ tải.

Để giải quyết các nhu cầu nêu trên, kiến ​​trúc phân tán Jenkins đã được giới thiệu.



Kiến trúc phân tán Jenkins

Jenkins sử dụng kiến ​​trúc Master-Slave để quản lý các bản dựng phân tán. Trong kiến ​​trúc này, Master và Slave giao tiếp thông qua giao thức TCP / IP.

Jenkins Thạc sĩ

Máy chủ Jenkins chính của bạn là Master. Công việc của Master là xử lý:

khớp nối lỏng lẻo trong java là gì
  • Lên lịch xây dựng công việc.
  • Cử các bản dựng cho nô lệ để thực thi thực tế.
  • Giám sát nô lệ (có thể đưa họ trực tuyến và ngoại tuyến theo yêu cầu).
  • Ghi lại và trình bày kết quả xây dựng.
  • Một phiên bản Master của Jenkins cũng có thể thực hiện các công việc xây dựng trực tiếp.

Jenkins nô lệ

Slave là một tệp thực thi Java chạy trên một máy từ xa. Sau đây là các đặc điểm của Jenkins Slaves:

  • Nó nghe các yêu cầu từ phiên bản Jenkins Master.
  • Các nô lệ có thể chạy trên nhiều hệ điều hành.
  • Công việc của một Slave là làm theo yêu cầu của họ, liên quan đến việc thực hiện các công việc xây dựng do Master chỉ định.
  • Bạn có thể cấu hình một dự án để luôn chạy trên một máy Slave cụ thể, hoặc một loại máy Slave cụ thể, hoặc đơn giản để Jenkins chọn Slave có sẵn tiếp theo.

Sơ đồ dưới đây là tự giải thích. Nó bao gồm một Jenkins Master đang quản lý ba Jenkins Slave.

Bây giờ chúng ta hãy xem xét một ví dụ trong đó Jenkins được sử dụng để thử nghiệm trong các môi trường khác nhau như: Ubuntu, MAC, Windows, v.v.

Sơ đồ dưới đây thể hiện tương tự:

Các chức năng sau được thực hiện trong hình trên:

  • Jenkins kiểm tra kho lưu trữ Git theo định kỳ để tìm bất kỳ thay đổi nào được thực hiện trong mã nguồn.
  • Mỗi bản dựng yêu cầu một môi trường thử nghiệm khác nhau mà một máy chủ Jenkins không thể thực hiện được. Để thực hiện thử nghiệm trong các môi trường khác nhau, Jenkins sử dụng nhiều Slave khác nhau như trong sơ đồ.
  • Jenkins Master yêu cầu các Slave này thực hiện thử nghiệm và tạo báo cáo thử nghiệm.

Jenkins Build Pipeline

Nó được sử dụng để biết Jenkins hiện đang thực hiện nhiệm vụ nào. Thường thì một số thay đổi khác nhau được thực hiện bởi một số nhà phát triển cùng một lúc, vì vậy sẽ rất hữu ích khi biết thay đổi nào đang được thử nghiệm hoặc thay đổi nào đang nằm trong hàng đợi hoặc bản dựng nào bị hỏng. Đây là lúc đường ống đi vào hình ảnh. Jenkins Pipeline cung cấp cho bạn cái nhìn tổng quan về vị trí của các bài kiểm tra. Trong xây dựng đường ống, tổng thể xây dựng được chia thành các phần, chẳng hạn như các giai đoạn kiểm tra đơn vị, kiểm tra nghiệm thu, đóng gói, báo cáo và triển khai. Các giai đoạn của đường ống có thể được thực hiện nối tiếp hoặc song song và nếu một giai đoạn thành công, nó sẽ tự động chuyển sang giai đoạn tiếp theo (do đó mức độ liên quan của tên “đường ống”). Hình ảnh dưới đây cho thấy một Đường ống nhiều công trình trông như thế nào.

là một mối quan hệ trong java

Hy vọng bạn đã hiểu các khái niệm lý thuyết. Bây giờ, hãy cùng vui chơi với thực hành.

Tôi sẽ tạo một công việc mới ở Jenkins, nó là một Dự án tự do . Tuy nhiên, có thêm 3 tùy chọn khả dụng. Hãy để chúng tôi xem xét các loại công việc xây dựng có sẵn trong Jenkins.

Dự án tự do:

Công việc xây dựng tự do là công việc xây dựng có mục đích chung, mang lại sự linh hoạt tối đa.Công việc xây dựng theo phong cách tự do là tùy chọn linh hoạt nhất và có thể cấu hình, và có thể được sử dụng cho bất kỳ loại dự án nào. Nó tương đối đơn giản để thiết lập và nhiều tùy chọn chúng tôi định cấu hình ở đây cũng xuất hiện trong các công việc xây dựng khác.

Công việc đa cấu hình:

“Dự án đa cấu hình” (còn được gọi là “dự án ma trận”) cho phép bạn chạy cùng một công việc xây dựng trên các môi trường khác nhau. Nó được sử dụng để kiểm tra một ứng dụng trong các môi trường khác nhau, với các cơ sở dữ liệu khác nhau hoặc thậm chí trên các máy xây dựng khác nhau.

Giám sát công việc bên ngoài:

Công việc xây dựng “Giám sát công việc bên ngoài” cho phép bạn theo dõi các quy trình không tương tác, chẳng hạn như công việc cron.

Dự án Maven:

“Dự án maven2 / 3” là một công việc xây dựng được điều chỉnh đặc biệt cho các dự án Maven. Jenkins hiểu các tệp Maven pom và cấu trúc dự án, đồng thời có thể sử dụng thông tin thu thập được từ tệp pom để giảm bớt công việc bạn cần làm để thiết lập dự án của mình.

Đây là video hướng dẫn Jenkins để bạn hiểu rõ hơn về Jenkins. Hãy xem video hướng dẫn Jenkins này.

Bắt đầu với Jenkins | Hướng dẫn Jenkins và DevOps | Jenkins cho người mới bắt đầu | Edureka

Tạo một bản dựng bằng Jenkins

Bước 1: Từ trang chủ giao diện Jenkins, chọn Vật phẩm mới.

Bước 2: Nhập tên và chọn Dự án tự do .

Bước 3: Trang tiếp theo này là nơi bạn chỉ định cấu hình công việc. Như bạn sẽ nhanh chóng quan sát, có một số cài đặt có sẵn khi bạn tạo một dự án mới.Trên trang cấu hình này, bạn cũng có tùy chọn Thêm bước xây dựng để thực hiện các hành động bổ sung như chạy tập lệnh. Tôi sẽ thực thi một tập lệnh shell.

Điều này sẽ cung cấp cho bạn một hộp văn bản trong đó bạn có thể thêm bất kỳ lệnh nào bạn cần. Bạn có thể sử dụng các tập lệnh để chạy các tác vụ khác nhau như bảo trì máy chủ, kiểm soát phiên bản, đọc cài đặt hệ thống, v.v. Tôi sẽ sử dụng phần này để chạy một tập lệnh đơn giản.

Bước 4: Lưu dự án và bạn sẽ được đưa đến trang tổng quan về dự án. Tại đây bạn có thể xem thông tin về dự án, bao gồm cả lịch sử hình thành của nó.

Bước 5: Nhấp chuột Xây dựng ngay ở phía bên trái để bắt đầu xây dựng.

Bước 6: Để xem thêm thông tin, hãy nhấp vào công trình đó trong khu vực lịch sử bản dựng, sau đó bạn sẽ được đưa đến trang có tổng quan về thông tin bản dựng.

Bước 7: Các Đầu ra bảng điều khiển liên kết trên trang này đặc biệt hữu ích để kiểm tra kết quả công việc một cách chi tiết.

hàm thành viên tĩnh trong c ++

Bước 8: Nếu bạn quay trở lại trang chủ của Jenkins, bạn sẽ thấy tổng quan về tất cả các dự án và thông tin của chúng, bao gồm cả trạng thái.

Trạng thái của công trình được biểu thị theo hai cách, bằng biểu tượng thời tiết và bằng quả bóng màu. Biểu tượng thời tiết đặc biệt hữu ích vì nó hiển thị cho bạn bản ghi của nhiều bản dựng trong một hình ảnh.

Như bạn có thể thấy trong hình trên, mặt trời thể hiện rằng tất cả các công trình xây dựng của tôi đều thành công. Màu sắc của quả bóng cho chúng ta biết trạng thái của công trình cụ thể đó, trong hình trên, màu của quả bóng là màu xanh lam có nghĩa là công trình cụ thể này đã thành công.

Trong Hướng dẫn Jenkins này, tôi chỉ đưa ra một ví dụ giới thiệu. Trong blog tiếp theo của tôi, tôi sẽ chỉ cho bạn cách kéo và xây dựng mã từ kho lưu trữ GitHub bằng Jenkins.

Nếu bạn tìm thấy cái này Hướng dẫn Jenkins có liên quan, hãy kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Khóa đào tạo Chứng chỉ Edureka DevOps giúp người học có được kiến ​​thức chuyên môn về các quy trình và công cụ DevOps khác nhau như Puppet, Jenkins, Nagios và GIT để tự động hóa nhiều bước trong SDLC.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần bình luận và chúng tôi sẽ liên hệ lại với bạn.