Hướng dẫn Setup Jenkins cho hệ thống Monolith - Bài 4: Cài đặt và cấu hình ban đầu: Plugin, Admin Account và Security Baseline
Sau khi nhập mật khẩu khởi tạo ở Bài 3, Jenkins sẽ dẫn bạn qua các bước thiết lập giao diện đầu tiên. Đừng bấm qua loa, hãy thực hiện chuẩn chỉnh theo các bước dưới đây:
1. Lựa chọn và cài đặt Plugin (Customize Jenkins)
Jenkins mạnh mẽ nhờ hệ sinh thái plugin. Màn hình hiện ra sẽ cho bạn 2 lựa chọn:
-
Install suggested plugins (Cài đặt các plugin được đề xuất sẵn)
-
Select plugins to install (Tự chọn plugin)
Lời khuyên cho hệ thống Monolith: Bạn nên chọn Install suggested plugins để Jenkins tự động cài đặt các công cụ cốt lõi (Git, Pipeline, Credentials, LDAP, Build Timeout, v.v.). Sau khi hoàn tất, chúng ta sẽ cài thêm một số plugin "sống còn" dành riêng cho Monolith:
-
Gitlab / GitHub Plugin: Để tích hợp nhận webhook từ kho lưu trữ mã nguồn.
-
SonarQube Scanner Plugin: Phân tích chất lượng code tĩnh.
-
Docker / Docker Pipeline Plugin: Đóng gói ứng dụng Monolith thành image.
-
SSH Publisher / Publish Over SSH: Đẩy gói tin build (JAR/ZIP/Folder) trực tiếp lên Staging/Production server.
-
AnsiColor: Giúp hiển thị màu sắc trực quan cho các dòng log build trên Terminal của Jenkins.
2. Thiết lập tài khoản quản trị viên đầu tiên (Create First Admin User)
Mặc dù bạn đã dùng tài khoản admin mặc định từ file initialAdminPassword, việc tạo một tài khoản quản trị riêng là bắt buộc để đảm bảo bảo mật:
-
Nhập thông tin: Username (ví dụ:
hieu_admin), Password, Full name và Email. -
Bấm Save and Continue.
3. Cấu hình URL hệ thống (Instance Configuration)
-
Jenkins sẽ yêu cầu xác nhận Jenkins URL (mặc định sẽ là
http://localhost:8080/hoặc IP của server). -
Hãy chắc chắn rằng URL này khớp với địa chỉ thực tế mà bạn hoặc các Webhook từ GitHub/GitLab dùng để truy cập vào Jenkins Server. Bấm Save and Finish -> Start using Jenkins.
4. Thiết lập chuẩn bảo mật cơ bản (Security Baseline) cho Monolith Server
Vì Jenkins nắm giữ "chìa khóa vàng" của toàn bộ hệ thống Monolith (chứa quyền truy cập server, database, token Git), việc siết chặt bảo mật ngay từ đầu là tối quan trọng:
-
Phân quyền người dùng (Authorization): Tránh để chế độ "Anyone can do anything". Hãy vào Manage Jenkins -> Security (hoặc Users / Authorization tùy phiên bản) để kích hoạt cơ chế phân quyền (Role-based Strategy). Chỉ cho phép dev có quyền trigger hoặc xem job, chỉ DevOps/Admin có quyền cấu hình hệ thống.
-
Bảo mật Credentials: Tuyệt đối không hardcode mật khẩu SSH, Database password, hay API Token vào trong
Jenkinsfile. Luôn sử dụng Jenkins Credentials Store để mã hóa an toàn. -
Tắt tính năng đăng ký tự do: Đảm bảo chỉ có Admin mới có quyền tạo tài khoản mới cho nhân sự trong công ty.
All rights reserved