CyStack logo
  • Sản phẩm & Dịch vụ
  • Giải pháp
  • Bảng giá
  • Công ty
  • Tài liệu
Vi

vi

Trang chủHướng dẫnHướng dẫn cài đặt Jenkins trên Ubuntu 22.04 đơn giản
Chuyên gia

Hướng dẫn cài đặt Jenkins trên Ubuntu 22.04 đơn giản

CyStack blog 5 phút để đọc
CyStack blog09/07/2025
Locker Avatar

Chris Pham

Technical Writer

Locker logo social
Reading Time: 5 minutes

Trong bài viết này, mình sẽ cùng các bạn đi qua từng bước chi tiết để cài đặt Jenkins trên một máy chủ Ubuntu 22.04. Chúng ta sẽ bắt đầu từ việc chuẩn bị môi trường, cài đặt Jenkins, khởi động dịch vụ, cấu hình tường lửa, và cuối cùng là hoàn tất thiết lập ban đầu bằng cách tạo người dùng quản trị. Mục tiêu là có một Jenkins server hoạt động sẵn sàng cho môi trường phát triển (development deployment).

Cài đặt jenkins trên ubuntu 22.04

Chuẩn bị

Để theo dõi hướng dẫn này, bạn sẽ cần:

  • Một máy chủ Ubuntu 22.04 đã được cấu hình với người dùng sudo không phải root và tường lửa (firewall). Mình khuyến nghị bắt đầu với ít nhất 1GB RAM.
  • Cài đặt Oracle JDK 11.

Các bước cài đặt Jenkins trên Ubuntu 22.04

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

Phiên bản Jenkins đi kèm với các gói Ubuntu mặc định thường không phải là phiên bản mới nhất từ dự án. Để đảm bảo bạn có các bản sửa lỗi và tính năng mới nhất, chúng ta sẽ sử dụng các gói được duy trì bởi chính dự án Jenkins để cài đặt.

Đầu tiên, hãy thêm khóa repository vào hệ thống của bạn:

wget -q -O - <https://pkg.jenkins.io/debian-stable/jenkins.io.key> | sudo gpg --dearmor -o /usr/share/keyrings/jenkins.gpg

Lệnh gpg --dearmor được sử dụng để chuyển đổi khóa sang định dạng mà apt có thể nhận dạng và lưu trữ nó vào đường dẫn /usr/share/keyrings/jenkins.gpg.

Tiếp theo, hãy thêm địa chỉ repository của gói Debian vào sources.list của máy chủ:

sudo sh -c 'echo deb [signed-by=/usr/share/keyrings/jenkins.gpg] <http://pkg.jenkins.io/debian-stable> binary/ > /etc/apt/sources.list.d/jenkins.list'

Phần [signed-by=/usr/share/keyrings/jenkins.gpg] trong dòng lệnh đảm bảo rằng apt sẽ xác minh các file trong repository bằng cách sử dụng khóa GPG mà bạn vừa tải xuống, giúp tăng cường bảo mật.

Sau khi cả hai lệnh đã được nhập, hãy chạy apt update để apt sử dụng repository mới này:

sudo apt update

Cuối cùng, cài đặt Jenkins và các dependency của nó:

sudo apt install jenkins

Giờ đây Jenkins và các dependency đã sẵn sàng, chúng ta sẽ khởi động Jenkins server.

Bước 2: Khởi động Jenkins

Sau khi Jenkins được cài đặt, hãy khởi động nó bằng cách sử dụng systemctl:

sudo systemctl start jenkins.service

systemctl không hiển thị output trạng thái, chúng ta sẽ sử dụng lệnh status để xác minh rằng Jenkins đã khởi động thành công:

sudo systemctl status jenkins

Nếu mọi thứ diễn ra tốt đẹp, phần đầu của output trạng thái sẽ cho thấy dịch vụ đang ở trạng thái active (running) và được cấu hình để khởi động khi boot:

Output
● jenkins.service - Jenkins Continuous Integration Server
     Loaded: loaded (/lib/systemd/system/jenkins.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-04-18 16:07:28 UTC; 2min 3s ago
   Main PID: 88180 (java)
      Tasks: 42 (limit: 4665)
     Memory: 1.1G
        CPU: 46.997s
     CGroup: /system.slice/jenkins.service
             └─88180 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080

Jenkins đã chạy, giờ là lúc điều chỉnh tường lửa để bạn có thể truy cập nó từ trình duyệt web để hoàn tất thiết lập ban đầu.

Bước 3: Mở tường lửa

Theo mặc định, Jenkins chạy trên port 8080. Hãy mở port đó bằng ufw:

sudo ufw allow 8080

Lưu ý: Nếu tường lửa chưa hoạt động, các lệnh sau sẽ cho phép OpenSSH và kích hoạt tường lửa:

sudo ufw allow OpenSSH
sudo ufw enable

Kiểm tra trạng thái của ufw để xác nhận các quy tắc mới:

sudo ufw status

Bạn sẽ thấy rằng traffic được cho phép đến port 8080 từ bất kỳ đâu:

Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
8080                       ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
8080 (v6)                  ALLOW       Anywhere (v6)

Với Jenkins đã cài đặt và tường lửa đã cấu hình, bạn đã hoàn tất giai đoạn cài đặt và có thể tiếp tục cấu hình Jenkins.

Bước 4: Cấu hình Jenkins

Để thiết lập cài đặt của bạn, hãy truy cập Jenkins trên port mặc định của nó là 8080, sử dụng tên miền hoặc địa chỉ IP của máy chủ của bạn: http://your_server_ip_or_domain:8080

Bạn sẽ nhận được màn hình Unlock Jenkins, hiển thị vị trí của mật khẩu ban đầu:

Trong cửa sổ terminal, sử dụng lệnh cat để hiển thị mật khẩu:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Sao chép mật khẩu gồm 32 ký tự chữ và số từ terminal và dán vào trường Administrator password, sau đó nhấp vào Continue.

Màn hình tiếp theo sẽ trình bày tùy chọn cài đặt các plugin được đề xuất hoặc chọn các plugin cụ thể:

Chúng ta sẽ nhấp vào tùy chọn Install suggested plugins, điều này sẽ ngay lập tức bắt đầu quá trình cài đặt.

Khi quá trình cài đặt hoàn tất, bạn sẽ được nhắc thiết lập người dùng quản trị đầu tiên. Bạn có thể bỏ qua bước này và tiếp tục với vai trò admin bằng cách sử dụng mật khẩu ban đầu ở trên, nhưng chúng ta sẽ dành một chút thời gian để tạo người dùng.

Lưu ý quan trọng: Jenkins server mặc định KHÔNG được mã hóa, do đó dữ liệu được gửi bằng form này không được bảo vệ.

Nhập tên và mật khẩu cho người dùng của bạn:

Bạn sẽ nhận được trang Instance Configuration yêu cầu bạn xác nhận URL cho Jenkins instance của bạn. Xác nhận tên miền của máy chủ hoặc địa chỉ IP của máy chủ:

Sau khi xác nhận thông tin phù hợp, nhấp vào Save and Finish. Bạn sẽ nhận được trang xác nhận rằng “Jenkins is Ready!”:

Nhấp vào Start using Jenkins để truy cập bảng điều khiển chính của Jenkins:

Đến đây, các bạn đã hoàn tất một quá trình cài đặt Jenkins thành công!

Kết luận

Trong bài viết này, chúng ta đã cùng nhau cài đặt Jenkins bằng cách sử dụng các gói được cung cấp bởi dự án, khởi động máy chủ, mở tường lửa và tạo người dùng quản trị. Đến thời điểm này, bạn đã có thể bắt đầu khám phá Jenkins và sử dụng nó cho các dự án phát triển của mình.

Tuy nhiên, mình xin nhắc lại một lần nữa về tầm quan trọng của bảo mật. Jenkins server sau các bước trên chỉ phù hợp cho môi trường phát triển hoặc thử nghiệm. Để bảo vệ mật khẩu của bạn, cũng như bất kỳ thông tin hệ thống hoặc sản phẩm nhạy cảm nào sẽ được gửi giữa máy của bạn và server dưới dạng văn bản thuần túy, bạn bắt buộc phải cấu hình SSL và sử dụng một reverse proxy như Nginx cho môi trường production.

Hy vọng bài viết này sẽ giúp ích cho bạn trên hành trình tự động hóa các quy trình DevOps của mình.

0 Bình luận

Đăng nhập để thảo luận

Chuyên mục Hướng dẫn

Tổng hợp các bài viết hướng dẫn, nghiên cứu và phân tích chi tiết về kỹ thuật, các xu hướng công nghệ mới nhất dành cho lập trình viên.

Đăng ký nhận bản tin của chúng tôi

Hãy trở thành người nhận được các nội dung hữu ích của CyStack sớm nhất

Xem chính sách của chúng tôi Chính sách bảo mật.

Đăng ký nhận Newsletter

Nhận các nội dung hữu ích mới nhất