Hướng dẫn Setup Jenkins cho hệ thống Monolith - Bài 6: Cấu hình Maven/Gradle/NPM build tool trên Jenkins Server cho ứng dụng Monolith
Đối với hệ thống Monolith, mã nguồn thường lớn và đi kèm các công cụ quản lý thư viện, biên dịch đặc thù (ví dụ: Maven/Gradle cho Java Spring Boot, NPM/Yarn cho Node.js/React Monolith, hay Composer cho PHP Laravel). Jenkins cần được khai báo sẵn các công cụ này để có thể thực thi lệnh build một cách chính xác.
1. Hai phương pháp cấu hình Build Tool trong Jenkins
Tùy thuộc vào cách bạn thiết lập hạ tầng (Cài trực tiếp hay dùng Docker), chúng ta có 2 cách chính để Jenkins sử dụng các công cụ build:
-
Global Tool Configuration (Cấu hình toàn cục trên Jenkins):
-
Phù hợp khi bạn dùng Static Agent hoặc cài trực tiếp trên máy chủ.
-
Jenkins sẽ tự động tải (Auto-install) hoặc liên kết trực tiếp với đường dẫn cài đặt sẵn của Maven, JDK, Node.js trên máy chủ.
-
-
Docker Tool Agent (Sử dụng Container môi trường):
- Phù hợp với xu hướng hiện đại. Mỗi khi build, Jenkins gọi một Docker image chứa sẵn công cụ cần thiết (ví dụ:
maven:3.9-eclipse-temurin-17hoặcnode:20-alpine). Cách này giúp hệ thống sạch sẽ tuyệt đối, không sợ xung đột phiên bản.
- Phù hợp với xu hướng hiện đại. Mỗi khi build, Jenkins gọi một Docker image chứa sẵn công cụ cần thiết (ví dụ:
2. Hướng dẫn cấu hình Global Tool Configuration trên Jenkins
Nếu hệ thống của bạn sử dụng Static Agent hoặc chạy trực tiếp, hãy làm theo các bước sau để cấu hình công cụ:
Bước 1: Truy cập trang quản lý công cụ
- Trên giao diện chính của Jenkins, chọn Dashboard -> Manage Jenkins -> Tools (hoặc Global Tool Configuration ở các phiên bản cũ).
Bước 2: Cấu hình JDK (Dành cho ứng dụng Java Monolith)
-
Tìm mục JDK installations, bấm Add JDK.
-
Đặt tên (ví dụ:
JDK-17). -
Bỏ chọn ô Install automatically nếu bạn đã cài sẵn JDK trên máy chủ và chỉ cần điền đường dẫn (JAVA_HOME), hoặc giữ nguyên chọn để Jenkins tự động tải phiên bản từ Oracle/Eclipse Temurin (yêu cầu cấu hình Oracle account hoặc dùng bản open source).
Bước 3: Cấu hình Maven / Gradle (Dành cho Java Monolith)
-
Tìm mục Maven installations (hoặc Gradle), bấm Add Maven.
-
Đặt tên (ví dụ:
Maven-3.8.8). -
Chọn Install automatically, chọn phiên bản phù hợp từ danh sách dropdown. Jenkins sẽ tự động tải và cấu hình mỗi khi Agent cần dùng.
Bước 4: Cấu hình NodeJS (Dành cho Node.js Monolith hoặc Frontend gộp chung)
-
Tìm mục NodeJS installations, bấm Add NodeJS.
-
Đặt tên (ví dụ:
Node-20). -
Chọn phiên bản NodeJS muốn sử dụng. Bấm Save để lưu lại toàn bộ thiết lập.
3. Khai báo và sử dụng Build Tool trong Jenkinsfile
Sau khi đã cấu hình tên các công cụ ở trên, trong quá trình viết Pipeline (Jenkinsfile), bạn có thể gọi chúng ra một cách dễ dàng thông qua khối tools:
Groovy
pipeline {
agent any
tools {
// Gọi tên đã cấu hình trong Global Tool Configuration
jdk 'JDK-17'
maven 'Maven-3.8.8'
}
stages {
stage('Build Monolith') {
steps {
// Kiểm tra phiên bản và tiến hành build mã nguồn Java Monolith
sh 'mvn clean package -DskipTests'
}
}
}
}
All rights reserved