Skip to main content

Cài đặt Jenkins Agent trên Proxmox VE

Step 1: Khởi tạo Container

  • Tải template: Trên PVE tải template Ubuntu 24.04image.png
  • Tại CT với template Ubuntu vừa tải về
    • CPU: 2 - 4 core
    • RAM: 2048 MB (Swap 512 MB)
    • Disk: 16GB (có thể mở rộng thêm nếu cần)
    • Network: sử dụng Static IP dạng 192.168.1.100/24 (nhớ điền Gateway 192.168.1.1)
  • Ok, Create and Start container vừa tạo.

Step 2: Thiết lập môi trường cho Agent

Đăng nhập vào Agent với quyền root và mật khẩu đã tạo.

  • Cài đặt các tools cần thiết:
    • apt update && apt upgrade -y // Update các package đã có trong hệ thống.
    • apt install openjdk-17-jdk git curl -y // Cài đặt JDK, Git, curl
  • Tạo user riêng cho jenkins
    • adduser jenkins // Tạo user tên là jenkins
  • Tạo thư mục làm việc và cấp quyền cho jenkins
    • mkdir -p /var/jenkins_home // Tạo thư mục jenkins_home
    • chown -R jenkins:jenkins /var/jenkins_home // Cấp quyền cho user jenkins
  • Chuyển SSH từ Socket sang Service (Mặc định SSH sẽ ở socket, chỉ hoạt động khi có yêu cầu. Để tránh gặp lỗi trong quá trình tự động thì nên chuyển sang Service)
    • systemctl stop ssh.socket
      systemctl disable ssh.socket
      systemctl enable ssh.service
      systemctl start ssh.service

Step 3: Thiết lập SSH Key

Tạo SSH Key để Jenkins Master có thể ra lệnh cho Agent mà không cần nhập mật khẩu mỗi khi cần build.

# Chuyển sang user jenkins
su - jenkins
# Tạo key (không đặt passphrase)
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa

# Tự cấp quyền cho chính mình (Authorized Keys)
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

# Hiển thị Private Key để copy vào Jenkins Master
cat id_rsa

Step 4: Tạo Node mới trên Jenkins Master

  • Tạo Credentials mới loại SSH Username with private key với Private Key vừa lấy ở bước trên.
    • Chú ý domain là global
  • Tạo Node. Jenkins Master > Manage Jenkins > Node > New Node
    • Remote root directory: /var/jenkins_home (thư mục làm việc đã tạo ở trên)
    • Label: label bất kỳ để dùng trong jenkinsfile.
    • Host: IP của Agent đã tạo ở Bước 1.
    • Host Key Verification Strategy: Chọn "Non-verifying Verification Strategy".
  • Ok tạo Node. Nếu có respond như hình thì tức là đã tạo và kết nối thành công. Nếu không thì kiểm tra log để biết vấn đề.image.png

Step 5: Update Jenkinsfile

  • Thay đổi chính so với Agent Windows:
    • bat > sh
    • del /F /Q > rm -f