Ngày đăng: 9 tháng 4 năm 2025
Jenkins là một máy chủ tự động hóa nguồn mở nhằm mục đích tự động hóa các tác vụ kỹ thuật lặp đi lặp lại liên quan đến quá trình tích hợp và phân phối phần mềm liên tục. Jenkins dựa trên Java và có thể được cài đặt từ các gói Ubuntu hoặc bằng cách tải xuống và chạy tệp Web application ARchive (WAR) — một tập hợp các tệp tạo nên một ứng dụng web hoàn chỉnh được dự định chạy trên máy chủ.
Trong hướng dẫn này, chúng ta sẽ cài đặt Jenkins bằng cách thêm kho lưu trữ gói Debian của nó, sau đó sử dụng kho lưu trữ đó để cài đặt gói bằng apt-get
.
Để làm theo hướng dẫn này, bạn sẽ cần:
sudo
user và tường lửa bằng cách làm theo hướng dẫn thiết lập máy chủ ban đầu của Ubuntu 16.04. Chúng tôi khuyên bạn nên bắt đầu với ít nhất 1 GB RAM.Khi máy chủ được thiết lập, bạn đã sẵn sàng để làm theo.
Phiên bản Jenkins đi kèm với các gói Ubuntu mặc định thường chậm hơn phiên bản mới nhất có sẵn từ chính dự án. Để tận dụng các bản sửa lỗi và tính năng mới nhất, chúng tôi sẽ sử dụng các gói do dự án duy trì để cài đặt Jenkins.
Đầu tiên, chúng tôi sẽ thêm khóa kho lưu trữ (repository key) vào hệ thống.
- wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
Khi khóa được thêm vào, hệ thống sẽ trả về OK
. Tiếp theo, chúng ta sẽ thêm địa chỉ kho lưu trữ gói Debian vào sources.list
của máy chủ:
- echo deb https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
Khi cả hai điều này đã được thực hiện, chúng ta sẽ chạy lệnh update
để apt-get
sử dụng kho lưu trữ mới:
- sudo apt-get update
Cuối cùng, chúng ta sẽ cài đặt Jenkins và các phần phụ thuộc của nó, bao gồm Java:
- sudo apt-get install jenkins
Bây giờ Jenkins và các phụ thuộc của nó đã sẵn sàng, chúng ta sẽ khởi động máy chủ Jenkins.
Sử dụng systemctl
, chúng ta sẽ khởi động Jenkins:
sudo systemctl start jenkins
Vì systemctl
không hiển thị đầu ra, chúng ta sẽ sử dụng lệnh status
của nó để xác minh rằng nó đã khởi động thành công:
- sudo systemctl status jenkins
Nếu mọi việc diễn ra tốt đẹp, đầu ra sẽ hiển thị rằng dịch vụ đang hoạt động và được cấu hình để bắt đầu khi khởi động:
Output● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
Active:active (exited) since Thu 2017-04-20 16:51:13 UTC; 2min 7s ago
Docs: man:systemd-sysv-generator(8)
Bây giờ Jenkins đang chạy, chúng ta sẽ điều chỉnh các quy tắc tường lửa để có thể truy cập Jenkins từ trình duyệt web để hoàn tất thiết lập ban đầu.
Theo mặc định, Jenkins chạy trên cổng 8080, vì vậy chúng ta sẽ mở cổng đó bằng ufw
:
- sudo ufw allow 8080
Chúng ta có thể xem các quy định mới bằng cách kiểm tra trạng thái của UFW.
- sudo ufw status
Chúng ta sẽ thấy lưu lượng được phép chuyển đến cổng 8080 từ bất kỳ đâu:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
8080 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
8080 (v6) ALLOW Anywhere (v6)
Lưu ý: Nếu tường lửa không hoạt động, các lệnh sau sẽ đảm bảo OpenSSH được phép và sau đó kích hoạt nó.
- sudo ufw allow OpenSSH
- sudo ufw enable
Bây giờ Jenkins đã được cài đặt và tường lửa cho phép chúng ta truy cập vào nó, chúng ta có thể hoàn tất thiết lập ban đầu.
Để thiết lập cài đặt của chúng ta, chúng ta sẽ truy cập Jenkins trên cổng mặc định của nó, 8080
, bằng cách sử dụng tên miền máy chủ hoặc địa chỉ IP: http://ip_address_or_domain_name:8080
Chúng ta sẽ thấy màn hình “Unlock Jenkins”, hiển thị vị trí của mật khẩu ban đầu
Trong cửa sổ terminal, chúng ta sẽ sử dụng lệnh cat
để hiển thị mật khẩu:
- sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Chúng ta sẽ sao chép mật khẩu chữ số gồm 32 ký tự từ thiết bị đầu cuối và dán vào trường "Administrator password", sau đó nhấp vào "Continue". Màn hình tiếp theo hiển thị 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”, thao tác này sẽ bắt đầu ngay quá trình cài đặt:
Khi quá trình cài đặt hoàn tất, chúng ta sẽ được nhắc thiết lập administrative user đầu tiên. Bạn có thể bỏ qua bước này và tiếp tục với tư cách là admin
bằng mật khẩu ban đầu mà chúng ta đã sử dụng ở trên, nhưng chúng ta sẽ dành một chút thời gian để tạo user.
Lưu ý: Máy chủ Jenkins mặc định KHÔNG được mã hóa, do đó dữ liệu được gửi kèm với biểu mẫu này không được bảo vệ. Khi bạn đã sẵn sàng sử dụng cài đặt này, hãy làm theo hướng dẫn Cách cấu hình Jenkins với SSL bằng Nginx Reverse Proxy. Điều này sẽ bảo vệ thông tin đăng nhập của người dùng và thông tin về các bản dựng được truyền qua giao diện Web.
Khi admin user đầu tiên đã vào vị trí, bạn sẽ thấy màn hình xác nhận “Jenkins is ready!”.
Nhấp vào “Start using Jenkins” để truy cập bảng điều khiển Jenkins chính:
Đến thời điểm này, Jenkins đã được cài đặt thành công.
Trong hướng dẫn này, chúng tôi đã cài đặt Jenkins bằng các gói do dự án cung cấp, khởi động máy chủ, mở tường lửa và tạo administrative user. Đến thời điểm này, bạn có thể bắt đầu khám phá Jenkins.
Khi bạn hoàn tất quá trình khám phá, nếu bạn quyết định tiếp tục sử dụng Jenkins, hãy làm theo hướng dẫn, Cách cấu hình Jenkins với SSL bằng Nginx Reverse Proxy để bảo vệ mật khẩu, cũng như bất kỳ thông tin nhạy cảm nào về hệ thống hoặc sản phẩm sẽ được gửi giữa máy của bạn và máy chủ dưới dạng văn bản thuần túy.