Khi phải đối mặt với các nhiệm vụ kỹ thuật lặp đi lặp lại, việc tìm kiếm các giải pháp tự động hóa hiệu quả có thể là một việc cần thiết. Với Jenkins, một máy chủ tự động hóa mã nguồn mở, bạn có thể quản lý hiệu quả các tác vụ từ xây dựng đến triển khai phần mềm. Jenkins dựa trên Java, đượ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 lưu trữ ứng dụng web (WAR) của nó — một tập hợp các tệp tạo nên một ứng dụng web hoàn chỉnh để chạy trên máy chủ.
Trong hướng dẫn này, chúng ta sẽ cài đặt Jenkins trên Ubuntu 20.04, khởi động máy chủ phát triển (development server) và tạo người dùng quản trị để giúp bạn bắt đầu khám phá những gì Jenkins có thể làm. Mặc dù bạn sẽ có một máy chủ cấp độ phát triển sẵn sàng để sử dụng khi kết thúc hướng dẫn này, nhưng để đảm bảo cài đặt này cho sản xuất, hãy làm theo hướng dẫn Cách định cấu hình Jenkins với SSL bằng Proxy ngược Nginx trên Ubuntu 18.04.
Để làm theo hướng dẫn này, bạn sẽ cần:
Phiên bản Jenkins đi kèm với các gói Ubuntu mặc định thường đứng sau phiên bản mới nhất hiện có từ chính 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, hãy sử dụng các gói do dự án duy trì để cài đặt Jenkins.
Đầu tiên, thêm khóa kho lưu trữ vào hệ thống:
- wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
Sau khi thêm khóa, hệ thống sẽ trả về thông báo OK
.
Tiếp theo, hãy thêm địa chỉ kho lưu trữ gói Debian vào sources.list
của máy chủ:
- sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
Sau khi cả hai lệnh đã được nhập, chúng tôi sẽ chạy update
để apt
sẽ sử dụng kho lưu trữ mới.
- sudo apt update
Cuối cùng, chúng tôi sẽ cài đặt Jenkins và các phụ thuộc của nó.
- sudo apt install jenkins
Bây giờ Jenkins và các phần phụ thuộc của nó đã sẵn sàng, chúng tôi sẽ khởi động máy chủ Jenkins.
Hãy bắt đầu Jenkins bằng cách sử dụng systemctl
:
- sudo systemctl start jenkins
Vì systemctl
không hiển thị đầu ra trạng thái, nên chúng tôi sẽ sử dụng lệnh status
để xác minh rằng Jenkins đã bắt đầu thành công:
- sudo systemctl status jenkins
Nếu mọi thứ suôn sẻ, phần đầu của đầu ra trạng thái cho thấy dịch vụ đang hoạt động và được định 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; generated)
Active: active (exited) since Fri 2020-06-05 21:21:46 UTC; 45s ago
Docs: man:systemd-sysv-generator(8)
Tasks: 0 (limit: 1137)
CGroup: /system.slice/jenkins.service
Bây giờ Jenkins đã thiết lập và chạy, hãy điều chỉnh các quy tắc tường lửa của chúng tôi để chúng tôi có thể truy cập nó từ trình duyệt web để hoàn tất thiết lập ban đầu.
Để thiết lập tường lửa UFW, hãy truy cập Thiết lập máy chủ ban đầu với Ubuntu 20.04, Bước 4- Thiết lập tường lửa cơ bản. Theo mặc định, Jenkins chạy trên cổng 8080
. Chúng tôi sẽ mở cổng đó bằng ufw
:
- sudo ufw allow 8080
Lưu ý: Nếu tường lửa không 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ẽ nhận thấy rằng lưu lượng truy cập được phép chuyển đến cổng 8080
từ mọi nơi:
OutputStatus: 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à cấu hình tường lửa của chúng tôi, chúng tôi có thể hoàn tất giai đoạn cài đặt và đi sâu vào thiết lập Jenkins.
Để thiết lập cài đặt của bạn, hãy truy cập Jenkins trên cổng mặc định của nó, 8080
, sử dụng tên miền máy chủ hoặc địa chỉ IP 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ừ 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 tôi sẽ nhấp vào tùy chọn Install suggested plugins, tùy chọn 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. Có thể bỏ qua bước này và tiếp tục với tư cách admin
bằng mật khẩu ban đầu chúng ta đã sử dụng ở trên, nhưng chúng ta sẽ mất một chút thời gian để tạo người dùng.
Lưu ý: Máy chủ Jenkins mặc định KHÔNG được mã hóa, vì vậy dữ liệu được gửi bằng biểu mẫu này không được bảo vệ. Tham khảo Cách định cấu hình Jenkins bằng SSL bằng cách sử dụng Proxy đảo ngược Nginx trên Ubuntu 20.04 để 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.
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 ưa thích cho phiên bản Jenkins của bạn. Xác nhận tên miền cho máy chủ của bạn hoặc địa chỉ IP của máy chủ của bạn:
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 một trang xác nhận xác nhận rằng “Jenkins is Ready!”:
Nhấp vào Start using Jenkins để truy cập trang tổng quan chính của Jenkins:
Đến đây, bạn đã hoàn thành việc cài đặt thành công Jenkins.
Trong hướng dẫn này, bạn đã 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 người dùng quản trị. Lúc này, bạn có thể bắt đầu khám phá Jenkins.
Khi bạn đã hoàn thành quá trình khám phá của mình, hãy làm theo hướng dẫn Cách định cấu hình Jenkins với SSL bằng cách sử dụng Proxy đảo ngược Nginx trên Ubuntu 20.04 để bảo vệ mật khẩu của bạn, cũng như mọi thông tin sản phẩm hoặc hệ thống nhạy cảm sẽ được gửi giữa máy của bạn và máy chủ trong văn bản thuần túy để tiếp tục sử dụng Jenkins.
Để tìm hiểu thêm về những gì bạn có thể làm khi sử dụng Jenkins, hãy xem các hướng dẫn khác về chủ đề này: