Jenkins hướng dẫn
Với những người dùng đang tìm hiểu về các tác vụ tự động hóa thì không thể không bỏ qua Jenkins cũng như cách tích hợp nó vào trong một hệ thống CI/CD của chúng ta. Nếu như bạn cũng đang muốn tìm hiểu thêm các kiến thức này thì đừng bỏ qua những thông tin mà Stringee sẽ mang tới cho bạn trong bài viết này. Show Để có thể hiểu được tường tận nội dung chúng ta sẽ cùng tìm hiểu trong bài viết này, bạn có thể tìm hiểu bài viết về CI/CD của Stringee trong kỳ trước: 1. Jenkins1.1. Jenkins là gì?Jenkins được định nghĩa là một opensource được sử dụng để thực hiện các chức năng được tích hợp liên tục (nó còn được gọi là CI- Continuous Integration) và có thể xây dựng các tác vụ dạng tự động hóa. Nó được tích hợp hầu hết các source code của những members trong team sẽ nhanh chóng một cách liên tục, theo dõi sự thực thi và các trạng thái thông qua các bước kiểm thử. Việc này đều sẽ giúp cho sản phẩm chạy được ổn định hơn. 1.2. Jenkins hoạt động như thế nào?Jenkins sẽ được cung cấp các gói lưu trữ Java WAR và những gói cài đặt cho các hệ điều hành phổ biến ở dưới dạng Homebrew, với hình ảnh Docker và mã nguồn. Và, mã nguồn chủ yếu ở đây là Java, gồm một vài tệp Croovy, Ruby và Antlr. Khi đó, bạn có thể độc lập chạy jenkins War hoặc dưới dạng một servlet trong máy chủ của ứng dụng Java như Tomcat. Trong cả hai trường hợp này thì Jenkins sẽ tạo ra một giao diện cho người dùng web và chấp nhận cho các cuộc gọi đến API Rest. Khi bạn chạy Jenkins lần đầu tiên, khi đó chương trình này sẽ tạo một tài khoản quản trị với các mật khẩu ngẫu nhiên khá dài. Bạn hoàn toàn có thể paste mật khẩu này vào webpage ban đầu là có thể unlock của trình cài đặt. Để có thể vận hành được Jenkins thì các pipeline sẽ được tạo ra, và Pipeline là một trong những chuỗi các bước server Jenkins cần thực hiện cho những tác vụ của CI/CD. Chúng đều được lưu trữ sẵn trong một file văn bản Khi đó, 1.3. Jenkins pipeline và Jenkinsfile1.3.1. Jenkins pipeline là gì?
1.3.2. Jenkinsfile là gì?
- Hướng dẫn cài đặt Web server Apache trên CentOS 7 - Cài đặt cấu hình cân bằng tải với HaProxy và Docker - Tìm hiểu về ràng buộc (Constraint) trong SQL 2. Cấu hình CI/CD với Jenkins2.1. Cài đặt JenkinsMột điều cần lưu tâm đó là Jenkins được phát triển và khởi chạy bằng ngôn ngữ Java, vì vậy trước khi cài đặt bạn nên cài đặt trước jdk trên máy của mình nhé.
Jenkins sẽ lắng nghe tại cổng 8080, bạn chỉ cần truy cập http://localhost:8080 là có thể truy cập vào dashboard Jenkins. Tiếp theo, chúng ta cần cài đặt cho bước khởi động Jenkins. Các bạn có thể làm theo hướng dẫn của Jenkins, đến bước cài plugin thì nên click vào "Install suggested plugins" nhé. Và như trong một quy trình CI/CD chính, chúng ta cần có một nguồn trigger các sự kiện làm thay đổi đến source code từ repository. Đó gọi là một webhook, mà webhook thì cần có một public domain để hoạt động. Nếu không có một domain, các bạn có thể sử dụng các công cụ tunnel để thay thế như
0 nhé. 2.2. Cấu hình CITrước hết chúng ta cần biết được khi nào trên repo có một pull request mới được tạo để chạy CI. Để làm được điều này cần nhờ đến một plugin của Jenkins là GitHub Pull Request Builder. Chúng ta sẽ vào phần quản lí plugin: Manage Jenkins > Manage Plugins > Tab Available, search và click "Install without restart". Bước 1: Tạo webhook trên repo: Vào setting webhook, chọn Add webhook. Tại payload url, bạn hãy điền webhook của mình vào đây. Content type chọn application/json và thêm Secret nếu cần. Cuối cùng tại mục action chọn Issue comments và Pull requests. Bước 2: Cài đặt cho plugin GitHub Pull Request Builder. Vào setting: Manage Jenkins > Configure System, Thêm credentials (username/password) của tài khoản github cho plugin. 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 2.3. Cấu hình CDCông việc CD như chúng ta đã biết là thực hiện deploy các ứng dụng sau khi đã thay đổi mã nguồn tới các máy chủ thực hiện chạy ứng dụng. Đây chính là bước 4 trong việc cấu hình CI chúng ta đã đề cập ở trên. Dưới đây, chúng ta sẽ tìm hiểu một đoạn script pipeline sẽ được cấu hình để build ứng dụng và deploy nó nhé.
KếtTrên đây là bài viết hướng dẫn các cấu hình, tích hợp CI/CD bằng Jenkins vào project. Mong các bạn có thể học được nhiều điều về Jenkins cũng như CI/CD qua bài viết này. Stringee Communication APIs là giải pháp cung cấp các tính năng như gọi thoại, gọi video, tin nhắn chat, SMS hay tổng đài chăm sóc khách hàng có thể tích hợp trực tiếp vào các ứng dụng/website của doanh nghiệp nhanh chóng. Bộ giải pháp này giúp tiết kiệm đến 80% thời gian và chi phí cho doanh nghiệp bởi thông thường nếu tự phát triển các tính năng này có thể mất từ 1 - 3 năm. |