For the complete documentation index, see llms.txt. This page is also available as Markdown.

Cài đặt và cấu hình Jenkins trên CentOS/RHEL

Hướng dẫn từng bước cài đặt và cấu hình Jenkins trên CentOS/RHEL sử dụng DNF, bao gồm cài Java 17, cấu hình Docker permissions và khởi động dịch vụ.

Jenkins là một trong những công cụ CI/CD (Continuous Integration / Continuous Delivery) mã nguồn mở phổ biến nhất, giúp tự động hóa quá trình build, test và triển khai ứng dụng. Bài viết này hướng dẫn từng bước cài đặt và cấu hình Jenkins trên hệ điều hành CentOS/RHEL sử dụng trình quản lý gói DNF.


Yêu cầu

  • Hệ điều hành: CentOS 8/9 hoặc RHEL 8/9 (sử dụng DNF package manager)

  • Quyền root hoặc sudo: Cần quyền quản trị viên để cài đặt gói và quản lý dịch vụ

  • Kết nối Internet: Để tải về Jenkins và các phụ thuộc từ repository chính thức

  • Firewall: Mở cổng 8080 (mặc định của Jenkins) nếu cần truy cập từ xa

Bài viết này sử dụng DNF — trình quản lý gói mặc định trên CentOS 8+, RHEL 8+ và các bản phân phối tương thích. Nếu bạn đang dùng CentOS 7, hãy tham khảo hướng dẫn sử dụng yum thay thế.


Bước 1: Cài đặt Java 17 OpenJDK

Jenkins yêu cầu Java Runtime Environment (JRE) hoặc Java Development Kit (JDK) để hoạt động. Phiên bản Java 17 là lựa chọn LTS (Long-Term Support) được Jenkins khuyến nghị.

Cài đặt Java 17 OpenJDK
sudo dnf install -y java-17-openjdk

Sau khi cài đặt xong, kiểm tra phiên bản Java đã được kích hoạt:

Kiểm tra phiên bản Java
java -version

Kết quả mong đợi:

openjdk version "17.x.x" 2024-xx-xx LTS
OpenJDK Runtime Environment (build 17.x.x-lts)
OpenJDK 64-Bit Server VM (build 17.x.x-lts, mixed mode, sharing)

Bước 2: Thêm repository Jenkins

Để cài đặt Jenkins thông qua DNF, bạn cần thêm repository chính thức của Jenkins vào hệ thống.

Lệnh này tải file .repo từ repository chính thức và lưu vào /etc/yum.repos.d/, cho phép DNF nhận diện và cài đặt Jenkins như một gói hệ thống.

Sử dụng redhat-stable thay vì redhat để đảm bảo bạn nhận được phiên bản ổn định (stable), phù hợp cho môi trường production.


Bước 3: Import GPG key

Trước khi cài đặt, hệ thống cần import GPG key để xác thực tính toàn vẹn của gói Jenkins.

GPG key giúp đảm bảo rằng gói tin bạn tải về không bị giả mạo hoặc chứa mã độc. Đây là bước bảo mật quan trọng trong quy trình cài đặt phần mềm từ bên thứ ba.


Bước 4: Cài đặt Jenkins

Sau khi đã thêm repository và import GPG key, tiến hành cài đặt Jenkins.

Quá trình cài đặt sẽ tự động tải về Jenkins cùng các phụ thuộc cần thiết. Thời gian cài đặt phụ thuộc vào tốc độ kết nối Internet.


Bước 5: Bật và khởi động dịch vụ Jenkins

Sau khi cài đặt xong, kích hoạt và khởi động dịch vụ Jenkins bằng systemctl.

  • systemctl enable jenkins: Đảm bảo Jenkins tự động khởi động cùng hệ thống mỗi khi boot

  • systemctl start jenkins: Khởi động dịch vụ Jenkins ngay lập tức

Kiểm tra xem dịch vụ đã khởi động thành công:

Kết quả mong đợi hiển thị active (running) với màu xanh lá.


Bước 6: Lấy mật khẩu admin ban đầu

Khi Jenkins khởi động lần đầu tiên, hệ thống sẽ tạo một mật khẩu quản trị viên tạm thời để xác thực truy cập ban đầu.

Kết quả sẽ là một chuỗi ký tự dạng UUID, ví dụ:

Sao chép chuỗi này và truy cập Jenkins qua trình duyệt:

Dán mật khẩu vào trường Administrator password và nhấn Continue để hoàn tất quá trình cài đặt ban đầu.

Sau lần đăng nhập đầu tiên, bạn sẽ được yêu cầu cài đặt các plugin đề xuất (Suggested Plugins). Chọn Install suggested plugins để có bộ plugin phổ biến nhất.


Bước 7: Cấu hình quyền Docker cho Jenkins user

Nếu bạn sử dụng Jenkins để chạy các pipeline liên quan đến Docker, Jenkins user cần được thêm vào nhóm docker để có quyền truy cập Docker daemon.

  • usermod: Lệnh sửa đổi thông tin user trên Linux

  • -aG: Thêm user vào nhóm bổ sung (-a = append, -G = group)

  • docker: Nhóm quản lý quyền truy cập Docker daemon


Bước 8: Kiểm tra thông tin user Jenkins

Sau khi thêm vào nhóm docker, kiểm tra để xác nhận thay đổi đã có hiệu lực.

Kết quả mong đợi:

Ngoài ra, bạn có thể sử dụng id để xem chi tiết hơn:

Kết quả mong đợi:

  • uid: ID người dùng Jenkins

  • gid: Nhóm chính của Jenkins

  • groups: Danh sách tất cả các nhóm mà Jenkins thuộc về (bao gồm docker)


Bước 9: Khởi động lại Jenkins

Để thay đổi quyền nhóm có hiệu lực đối với Jenkins, bạn cần khởi động lại dịch vụ.

Việc khởi động lại Jenkins sẽ làm ngắt các pipeline đang chạy. Hãy đảm bảo không có job nào đang thực thi trước khi restart.


Bước 10: Kiểm tra trạng thái dịch vụ

Sau khi khởi động lại, kiểm tra toàn bộ trạng thái để đảm bảo Jenkins hoạt động bình thường.

Kết quả mong đợi:

Các thông tin quan trọng cần chú ý:

  • Active: active (running): Dịch vụ đang hoạt động bình thường

  • Loaded: enabled: Dịch vụ được thiết lập tự động khởi động cùng hệ thống

  • Main PID: PID của tiến trình Jenkins chính

Ngoài ra, truy cập Jenkins qua trình duyệt để xác nhận giao diện hoạt động:


Tóm tắt nhanh các lệnh


Lưu ý quan trọng

Tài nguyên: Jenkins sử dụng相当 nhiều bộ nhớ RAM. Với môi trường production, khuyến nghị tối thiểu 2GB RAM và 1GB ổ cứng trống cho Jenkins.

  • Cổng mặc định: Jenkins chạy trên cổng 8080. Để thay đổi, chỉnh sửa file /etc/sysconfig/jenkins và tìm dòng JENKINS_PORT

  • Thư mục làm việc: Thư mục gốc của Jenkins nằm tại /var/lib/jenkins/

  • Log file: Xem log Jenkins tại /var/log/jenkins/jenkins.log khi gặp sự cố

  • Quản lý qua CLI: Jenkins cung cấp CLI tool để quản lý từ dòng lệnh, tham khảo tại Jenkins CLI Documentation


Tài liệu tham khảo

Cập nhật lần cuối