Đề Xuất 2/2023 # Jenkins: Tổng Quan Giao Diện Quản Lý Jenkins Ci/Cd # Top 2 Like | Cuocthitainang2010.com

Đề Xuất 2/2023 # Jenkins: Tổng Quan Giao Diện Quản Lý Jenkins Ci/Cd # Top 2 Like

Cập nhật nội dung chi tiết về Jenkins: Tổng Quan Giao Diện Quản Lý Jenkins Ci/Cd mới nhất trên website Cuocthitainang2010.com. Hy vọng thông tin trong bài viết sẽ đáp ứng được nhu cầu ngoài mong đợi của bạn, chúng tôi sẽ làm việc thường xuyên để cập nhật nội dung mới nhằm giúp bạn nhận được thông tin nhanh chóng và chính xác nhất.

Giao diện quản lý Jenkins

Để vào phần giao diện quản lý Jenkins. Bạn bấm vào ” Manage Jenkins ” ở phía trái pannel.

Sau đó nó sẽ hiển thị các phần hỗ trợ quản lý dịch vụ Jenkins.

Configure System

Đây là phần sẽ giúp bạn quản lý một số cấu hình của dịch vụ Jenkins như : email server, JDK, directory path, biến môi trường và một số cấu hình hệ thống khác.

Reload Configuration from Disk

Jenkins lưu tất cả thông tin hệ thống dịch vụ và các cấu hình build job trong các file XML, thường nằm ở thư mục HOME Jenkins. Ở đây cũng lưu trữ các lịch sử build. Vì vậy nếu bạn thực hiện migrate build jobs từ một Jenkins instance khác sang, hoặc giải nén các build jobs backup. Bạn lúc này không cần phải tắt dịch vụ Jenkins hay khởi động lại cả dịch vụ. Chỉ cần reload cấu hình là được với nut ‘ Reload Configuration from disk ‘.

Manage Plugin

Trang quản lý cài đặt plugin từ bên thứ 3 , giúp bạn cài đặt, gỡ bỏ hoặc update phiên bản mới đối với từng plugin.

System Information

Trang hiển thị System Log sẽ giúp bạn xem Jenkins log theo thời gian thực, giúp bạn troubleshoot các vấn đề gặp phải khi sử dụng Jenkins.

Load Statistics

Trang thông tin hiển thị dữ liệu dạng biểu đồ, giúp thống kê các build đang chạy đồng thời cũng như độ dài của hàng đợi build giúp bạn theo dõi được thời gian bao lâu mà những build của Jenkins cần phải đợi trước khi được thực thi.

Jenkins CLI

Trang hiển thị danh sách các lệnh hỗ trợ bởi Jenkins CLI giúp tương tác qua terminal/script với dịch vụ Jenkins đang chạy.

Script Console

Trang này giúp bạn chạy các script kịch bản Groovy (http://www.groovy-lang.org/) trên hệ thống server. Khá là hữu ích với các nhu cầu troubleshoot nâng cao .

Manage nodes

Jenkins có khả năng xử lý song song và phân tán các hoạt động build. Với màn hình giao diện này, bạn có thể cấu hình bao nhiêu build bạn muốn. Nếu sử dụng cho cấu hình phân tán build thì dễ dàng quản lý build node qua giao diện ” Manage Nodes “.

Prepare for Shutdown

Nếu bạn có nhu cầu tắt dịch vụ Jenkins để bảo trì. Thì tốt nhất là cần phải dừng các hoạt động build đang được thực thi hoặc chuẩn bị thực thi. Để có thể tắt Jenkins một cách an toàn bạn cần bấm vào nút ” Prepare for shutdown “, giúp không cho các build mới khởi động và các build hiện tại kết thúc thì sẽ tắt dịch vụ Jenkins.

Vậy là bạn đã đi qua được nội dung về các t hành phần giúp quản lý dịch vụ Jenkins trên giao diện GUI rồi. Hy vọng các bạn cảm thấy hữu ích.

Bạn đang theo dõi website “https://cuongquach.com/” nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !

Tìm Hiểu Về Jenkins Và Ci/Cd

Gần đây, mình mới được nhận một task tìm hiểu và tích hợp CI/CD cho dự án đang làm. Nếu bạn nào đã từng tìm hiểu về CI/CD rồi thì chắc hẳn sẽ thấy sự cần thiết của việc tích hợp nó vào trong quá trình phát triển phần mềm. Hay nói nôm na là nó sẽ đảm nhận việc tự động build, chạy test và triển khai code khi có thay đổi. Qua một tuần ngồi vọc vạch, tìm hiểu trên mạng thì cũng biết được Jenkins có một công cụ có thể hỗ trợ để tạo ra những job chạy CI và CD.

CI/CD – Continuous Intergration/Continuous Delivery

Đầu tiên, nói lại về CI/CD một chút. CI hay Continuous Integration, là phương pháp phát triển phần mềm yêu cầu các thành viên của team tích hợp công việc của họ thường xuyên, mỗi ngày ít nhất một lần. Mỗi tích hợp được build tự động (bao gồm cả test) nhằm phát hiện lỗi nhanh nhất có thể. Và tất nhiên giúp cho việc tích hợp và phát triển phần mềm trở nên nhanh và hiệu quả hơn.

Tiếp đến, CD hay đầy đủ là Continuous Delivery (tạm dịch là chuyển giao liên tục), là quá trình triển khai tất cả thay đổi về code lên môi trường test hoặc staging. Continuous Delivery cho phép tự động hóa phần testing bên cạnh việc sử dụng unit test, kiểm tra phần mềm qua nhiều thước đo trước khi triển khai cho khách hàng.

Jenkins là gì?

Là một ứng dụng Web mã nguồn mở được viết bằng Java, đóng vai trò máy chủ build & test của hệ thống tích hợp liên tục. Jenkins có thể kết hợp được với hầu hết các công cụ khác của hệ thống tích hợp liên tục với nhiều nền tảng khác nhau. Ngoài ra, cộng đồng sử dụng Jenkins rất lớn nên cũng rất dễ trong việc sử dụng và hỗ trợ khi gặp khó khăn.

Trở lại bài toán đặt ra lúc đầu, chi tiết yêu cầu như sau: Khi 1 PR mới được tạo, Jenkins sẽ bắt sự kiện và trigger để chạy job CI, CI job sẽ chạy Unit Test, checkstyle code và report kết quả. Khi PR được (merged), thì job CD sẽ chạy deploy code mới lên server test và chỉ việc chờ tới khi có thông báo deploy thành công trên Chatwork là xong :v.

2.1. Cài đặt Jenkins

Ở đây chúng ta còn cần phải sử dụng Github webhook để trigger những sự kiện như tạo PR hoặc merge PR, mà webhook cần phải có một public domain để hoạt động. Các bạn có thể dùng các tool để public cổng 8080 trên local thành public domain. Ví dụ như chúng tôi và làm theo hướng dẫn hoặc chạy lệnh ssh -R 80:localhost:8080 ssh.localhost.run.

2.2. Cấu hình CI

Bước 3: Tạo job mới. Tại mục Github project nhập link của repo vào đó. Tiếp theo, chọn GitHub Pull Request Builder, tích chọn “Use github hooks for build triggering”. Trong mục Advance Setting…, nhập whitelist branch khi có pull request mới được tạo. Và nếu muốn thay đổi tên hiển thị trên pull request khi job chạy thì bạn có thể setting trong mục Trigger setup. Thêm action “Update commit status during build” và nhập tên hiển thị của job vào ô “Commit Status Context”.Bước 4: Viết script pipeline cho job.

Việc setting đã xong, bây giờ hãy thử tạo một pull request trên repo vào nhánh master và trải nghiệm.

2.3. Cấu hình CD

Thật không may là github webhook chưa hỗ trợ cho chúng ta khi có sự kiện merge pull request. Vì vậy cần sử dụng plugin Generic Webhook Trigger Plugin và phân tích payload của Github webhook khi có sự kiện merge. Ở đây, chúng ta cần kiểm tra 2 trường $.action=”closed” và $.pull_request.merged=true.

pipeline { agent any tools { maven "mvn3" } stages { stage("Checkout") { when { expression { return current_status == "closed" && merged == "true" } } steps { echo "Checkout done." } } stage("Build") { when { expression { return current_status == "closed" && merged == "true" } } steps { echo "Build done." } } stage("Deploy") { when { expression { return current_status == "closed" && merged == "true" } } steps { echo "Deploy done." } } stage("Notify") { when { expression { return current_status == "closed" && merged == "true" } } steps { echo "Notify when deploy success." } } }

All Rights Reserved

Jenkins Là Gì? Build, Deploy Tự Động Với Jenkins

Jenkins là gì? Build, deploy tự động với Jenkins.

Trong bài này chúng ta sẽ tìm hiểu cách mà người ta triển khai ứng dụng lên server như nào.

Cách thủ công: ví dụ mình có 1 project java, muốn deploy project này nên server thì ta cần build nó thành file jar. Sau đó copy file jar nên server và chạy lệnh java -jar. Hoặc nếu là file war thì ta cần cài đặt tomcat trên server rồi upload file war lên đó. Tuy nhiên cách này khá mất công và không thể kiểm tra được có deploy thành công không vì có thể môi trường trên server khác với môi trường triển khai.

Cách hiện đại (tự động): Toàn bộ quá trình lấy code mới nhất, build, deploy đều được thực hiện tự động, nếu có lỗi do code hay do môi trường thì sẽ nhận được thông báo. Để thực hiện được việc này ta cần phần mềm CI như Jenkins, Bamboo…

1. Jenkins là gì?

Jenkins là một phần mềm mã nguồn mở cho phép thực hiện việc tích hợp liên tục và triển khai liên tục trong phát triển phần mềm (commit code, build, test, deploy…)

Ví dụ, 1 project được phát triển bởi nhiều developer, mỗi developer lại viết code trên một môi trường khác nhau. Sau khi viết code, tất cả các developer đều sẽ commit code nên một source chung (Git, SVN…). Jenkins sẽ thực hiện pull source code đó về, tự động build, test và deploy lên các môi trường cho tester thực hiện test. Nếu không có lỗi thì sẽ deploy lên môi trường product. Hoặc nếu quá trình build, test bị failed (do lỗi code, do môi trường, …) thì sẽ thông báo cho developer để sửa.

Một số phần mềm tương tự Jenkins: Bamboo, CruiseControl…

CI/CD là gì?

Khi tìm hiểu Jenkins, ta có 2 khái niệm cần hiểu rõ là CI/CD:

CI (Continuous Integration): Tích hợp liên tục, tức là sau code được commit sẽ được tự động pull về, build, test

CD (Continuous Delivery): Chuyển giao liên tục, tức là code sau khi build sẽ được tự động test, deploy lên các môi trường

2. Pull Code, Build, Deploy tự động với Jenkins

Jenkins được viết bằng Java, là một web application nên nó chạy trên 1 web server (ví dụ Tomcat).

Dưới dây là list các hướng dẫn để thực hiện cài đặt Jenkins và thực hiện pull 1 project maven từ github về để build và deploy

Khác:

Jenkins là gì? Build, deploy tự động với Jenkins

Okay, Done!

References:

https://www.jenkins.io/doc/

https://www.guru99.com/jenkin-continuous-integration.html

Cấu Hình Jenkins Pipeline Tích Hợp Với Slack

Slack được nhiều người xem là ” sát thủ email “, ứng dụng là cách để “giảm bớt” các email nội bộ của bạn, và hãy quên việc giao tiếp, trao đổi bằng email hoặc các phần mềm chat thông thường đi.

Ưu điểm lớn nhất của Slack là đa nền tảng (máy tính, Android, iOS) nên tất cả mọi người trong công ty của bạn có thể chat nhóm với nhau bất kể họ dùng thiết bị gì đi nữa.

Bạn có thể đăng ký tài khoản và tìm hiểu thêm về slack : https://slack.com/intl/en-vn/

1. Tạo Slack channel để nhận thông báo từ Jenkins

Để Jenkins có thể gởi thông báo tới kênh Slack channel của bạn, bạn cần cài đặt Jenkins app trên Slack và tạo một channel cho việc nhận thông báo từ Jenkins CI/CD.

Bạn vào ứng dụng Slack, chọn nút “(+) “.

Search ” Jenkins” và chọn cài đặt (Install).

Lúc này Slack sẽ chuyển hướng bạn đến trang chủ cài đặt ứng dụng Jenkins trong group Slack của bạn.

Bạn chọn channel đang có bằng cách gõ tên channel trên Slack mà bạn muốn nhận thông báo từ Jenkins. Hoặc bạn có thể tạo channel mới với ‘ Create a new channel ‘.

Kế đến bạn sẽ được Slack chuyển sang trang hướng dẫn cấu hình Jenkins tích hợp với Slack. Bạn cần lưu ý thông tin như dưới, trong trang hướng dẫn, sẽ có thông tin về URL Webhook cho Group Slack của bạn và Token :

2. Cấu hình Jenkins tích hợp Slack

Tìm kiếm tên plugin ” Slack Notification” trong tab ” Available” và chọn ” Install ” để cài đặt như bao plugin khác.

Bạn cần tạo một thông tin key ‘ Credentials‘ dưới dạng ‘ Secret Text‘ trong Jenkins, để chọn ở phần ‘ Integration Toke Credentials‘. Ví dụ mình đặt tên là : chúng tôi

Lúc này bạn chọn ” Test Connection” , sẽ thấy kết một thông báo mang tính chất kiểm tra hoạt động gửi thông tin lên Webhook Channel Slack . Nếu như trong hình là bạn đã thành công bước đầu rồi đấy.

3. Cấu hình Jenkins pipeline để gửi thông báo lên Slack

Bạn đang theo dõi website “https://cuongquach.com/” nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !

Bạn đang đọc nội dung bài viết Jenkins: Tổng Quan Giao Diện Quản Lý Jenkins Ci/Cd trên website Cuocthitainang2010.com. Hy vọng một phần nào đó những thông tin mà chúng tôi đã cung cấp là rất hữu ích với bạn. Nếu nội dung bài viết hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!