0

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:

  1. 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ủ.

  2. 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-17 hoặc node: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.

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ụ

  1. 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)

  1. Tìm mục JDK installations, bấm Add JDK.

  2. Đặt tên (ví dụ: JDK-17).

  3. 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)

  1. Tìm mục Maven installations (hoặc Gradle), bấm Add Maven.

  2. Đặt tên (ví dụ: Maven-3.8.8).

  3. 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)

  1. Tìm mục NodeJS installations, bấm Add NodeJS.

  2. Đặt tên (ví dụ: Node-20).

  3. 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

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí