1. Mngơi nghỉ đầu

Gần trên đây, mình mới được nhận một task tò mò với tích thích hợp CI/CD mang đến dự án đang có tác dụng. Nếu bạn nào đã từng có lần khám phá về CI/CD rồi thì chắc hẳn đã thấy sự cần thiết của câu hỏi tích hợp nó vào vào quá trình trở nên tân tiến ứng dụng. Hay nói nôm na là nó đang đảm nhận Việc tự động hóa build, chạy chạy thử cùng xúc tiến code lúc bao gồm đổi khác. Qua 1 tuần ngồi vọc gạch, tìm hiểu bên trên mạng thì cũng hiểu rằng Jenkins gồm một cách thức rất có thể cung cấp để tạo ra mọi job chạy CI và CD.

Bạn đang xem: Jenkins là gì? mối liên hệ của jenkins với ci và cd

CI/CD - Continuous Intergration/Continuous Delivery

trước hết, nói lại về CI/CD một chút ít. CI xuất xắc Continuous Integration, là cách thức cách tân và phát triển phần mềm yên cầu các member của team tích phù hợp quá trình của họ liên tục, từng ngày tối thiểu một lần. Mỗi tích phù hợp được build tự động (bao hàm cả test) nhằm mục đích phạt hiện nay lỗi nkhô giòn tốt nhất hoàn toàn có thể. Và tất yếu hỗ trợ cho vấn đề tích đúng theo và cải cách và phát triển ứng dụng trngơi nghỉ nên nkhô hanh cùng tác dụng rộng.

Tiếp cho, CD tốt rất đầy đủ là Continuous Delivery (trợ thì dịch là chuyển nhượng bàn giao liên tục), là quá trình thực thi tất cả chuyển đổi về code lên môi trường kiểm tra hoặc staging. Continuous Delivery chất nhận được auto hóa phần testing lân cận việc sử dụng unit thử nghiệm, khám nghiệm ứng dụng trải qua nhiều thước đo trước lúc xúc tiến mang lại người tiêu dùng.

Jenkins là gì?

Là một áp dụng Web mã mối cung cấp mnghỉ ngơi được viết bởi Java, nhập vai trò sever build và thử nghiệm của khối hệ thống tích đúng theo tiếp tục. Jenkins có thể phối hợp được cùng với phần lớn những phương tiện không giống của khối hệ thống tích phù hợp thường xuyên với tương đối nhiều nền tảng gốc rễ không giống nhau. Trong khi, xã hội áp dụng Jenkins không hề nhỏ phải cũng rất dễ vào việc sử dụng cùng cung cấp lúc gặp mặt khó khăn.

2. Sử dụng Jenkins nhằm thông số kỹ thuật CI/CD

Trngơi nghỉ lại bài bác toán đưa ra lúc đầu, cụ thể hưởng thụ như sau: Lúc 1 PR new được chế tạo ra, Jenkins đã bắt sự khiếu nại với trigger để chạy job CI, CI job đang chạy Unit Test, checkstyle code cùng report tác dụng. khi truyền bá được (merged), thì job CD sẽ chạy deploy code mới lên hệ thống chạy thử và chỉ còn bài toán đợi tới khi có thông tin deploy thành công xuất sắc trên Chatwork là chấm dứt :v.

2.1. Cài đặt Jenkins

Jenkins được viết bằng Java cần trước khi thiết lập bạn cần cài đặt Java mang đến máy tính xách tay của chúng ta nhé. Bắt đầu thôi nào!

wget -q -O - https://pkilogam.jenkins.io/debian/jenkins.io.key | suvì chưng apt-key add -suvì sh -c "emang đến deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.danh mục.d/jenkins.list"subởi add-apt-repository universesuvì chưng apt-get updatesuvày apt-get install jenkins -yĐể truy vấn vào Jenkins, vào browser với nhập ảnh hưởng http://localhost:8080. Tiếp theo là bước cài đặt mang lại lần đầu tiên khởi hễ Jenkins. Nói thông thường cũng không tồn tại gì đặc biệt quan trọng, chỉ bao gồm bước mua plugin thì nên cần click vào "Install suggested plugins" thôi.

Xem thêm: Khách Thể Nghiên Cứu Là Gì, Phương Pháp Nghiên Cứu Trong Kinh Tế

Tại đây họ còn cần được thực hiện Github webhook nhằm trigger đầy đủ sự kiện nhỏng sản xuất quảng cáo hoặc merge quảng bá, mà lại webhook cần được tất cả một public domain để vận động. Các chúng ta có thể cần sử dụng những tool nhằm public cổng 8080 bên trên local thành public domain. lấy ví dụ như nlỗi ngrok.com với tuân theo chỉ dẫn hoặc chạy lệnh ssh -R 80:localhost:8080 ssh.localhost.run.

2.2. Cấu hình CI

Trước hết họ cần phải biết được khi nào trên repo bao gồm một pull request mới được chế tạo để chạy CI. Để làm cho được điều đó đề nghị nhờ vào mang lại một plugin của Jenkins là GitHub Pull Request Builder. Chúng ta sẽ vào phần quản ngại lí plugin: Manage Jenkins > Manage Plugins > Tab Available, tìm kiếm với clichồng "Install without restart".


*

Cách 1: Tạo webhook trên repo: Vào setting webhook, lựa chọn Add webhook. Tại payload url, điền với format sau: /ghprbhook/ ví dụ: http:/my-domain name.com/ghprbhook/. Content type lựa chọn application/json cùng thêm Secret nếu đề nghị. Cuối thuộc trên mục action chọn Issue comments cùng Pull requests.

Cách 2: Cài đặt mang đến plugin GitHub Pull Request Builder. Vào setting: Manage Jenkins > Configure System, Thêm credentials (username/password) của tài khoản github mang lại plugin.

Cách 3: Tạo job new. Tại mục Github project nhập link của repo vào đó. Tiếp theo, lựa chọn GitHub Pull Request Builder, tích lựa chọn "Use github hooks for build triggering". Trong mục Advance Setting..., nhập whitedanh sách branch lúc bao gồm pull request mới được tạo ra. Và nếu như muốn thay đổi tên hiện trên pull request khi job chạy thì bạn cũng có thể setting vào mục Trigger cài đặt. Thêm action "Update commit status during build" và nhập tên hiển thị của job vào ô "Commit Status Context".