Jenkins là một hệ thống xây dựng liên tục mã nguồn mở. Đây là một ứng dụng dựa trên máy chủ được viết bằng Java và thường chạy dưới dạng dịch vụ nền trên máy tính Windows hoặc Unix. Chúng tôi sử dụng Jenkins để tự động giám sát kho lưu trữ để tìm các thay đổi trong mã nguồn của chúng tôi. Ngay khi ai đó đẩy các thay đổi của mình lên kho lưu trữ mã nguồn trung tâm, Jenkins sẽ phân tích các tệp nguồn mới để tìm các thay đổi. Nếu phát hiện tệp nguồn đã thay đổi kể từ lần biên dịch cuối cùng của chúng tôi, thì Jenkins sẽ khởi tạo bản dựng mới trên Máy chủ tích hợp liên tục của chúng tôi.
Jenkins giúp chúng tôi thực hiện đáng kể hai nhiệm vụ quan trọng:
Ví dụ, Nhà phát triển A kiểm tra phiên bản mới từ hệ thống kiểm soát nguồn chính của dự án và sau khi thực hiện một số thay đổi đối với một vài tệp, anh ta có thể đẩy các cam kết cục bộ của mình để các nhà phát triển khác có thể sử dụng chúng. Nhà phát triển B có thể đã chỉnh sửa cùng một tệp vào khoảng thời gian này và sau đó cô ấy cũng đẩy các thay đổi của mình vào kho lưu trữ mã trung tâm. Đột nhiên, bất cứ khi nào nhà phát triển A cố gắng kiểm tra bản sao cục bộ của dự án, anh ta sẽ được thông báo rằng có những thay đổi mới hơn có sẵn trong kho lưu trữ mã trung tâm. Điều này giúp chúng ta tránh khỏi việc kéo các thay đổi chưa hoàn thiện hoặc lỗi thời từ các nhà phát triển khác và mất các chỉnh sửa của riêng mình thỉnh thoảng.
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn quy trình cài đặt và cấu hình máy chủ Jenkins trên máy Rocky Linux 8. Hướng dẫn này cũng có thể áp dụng cho các hệ điều hành Red Hat Linux và SUSE Linux khác.
hoặc
Bạn nên khởi động lại hệ thống nếu đã nâng cấp bất kỳ gói hệ thống quan trọng nào, chẳng hạn như Kernel, để đảm bảo rằng các thay đổi được áp dụng chính xác.
Đăng nhập lại bằng cùng một người dùng không phải root và tiến hành bước tiếp theo.
Cả JDK 11 và JDK 8 đều có sẵn trong kho lưu trữ chính thức của Rocky Linux 8. Bạn có thể kiểm tra phiên bản JDK nào có sẵn trên hệ thống của mình bằng cách nhập lệnh bên dưới.
Bạn sẽ thấy đầu ra như bên dưới.
Jenkins có thể chạy trên cả JDK 11 và JDK 8, nhưng một số plugin Jenkins cũ có thể không tương thích với JDK 11. Bạn nên sử dụng JDK 8. Trong bước này, chúng tôi cài đặt JDK 8 bằng lệnh sau.
Sau khi java được cài đặt, bạn có thể xác minh rằng phần mềm đã được cài đặt đúng cách bằng cách kiểm tra phiên bản của nó.
Bạn sẽ thấy đầu ra như bên dưới.
Bây giờ, hãy thêm khóa GPG cho kho lưu trữ bằng lệnh rpm.
Hãy kiểm tra xem kho lưu trữ đã được thêm thành công hay chưa bằng cách sử dụng lệnh sau.
Nếu mọi thứ diễn ra chính xác, bạn sẽ thấy đầu ra như bên dưới.
Bây giờ, bạn có thể cài đặt máy chủ Jenkins bằng cách nhập lệnh sau.
Nếu không có lỗi hoặc bất kỳ thông báo cụ thể nào trên màn hình sau Bạn gõ lệnh trên nghĩa là cài đặt Jenkins đã thành công. Để kiểm tra xem mọi thứ đã được cài đặt thành công hay chưa, hãy chạy lệnh sau:
Đầu ra của lệnh này sẽ giống như thế này.
Nếu dịch vụ jenkins không chạy, bạn có thể khởi động dịch vụ bằng cách nhập lệnh sau.
Để cho phép dịch vụ jenkins tự động khởi động mỗi khi bạn khởi động lại hệ thống, hãy nhập:
Jenkins sử dụng cổng 8080 theo mặc định để truy cập từ xa, vì vậy bạn có thể muốn mở cổng này để cho phép bên ngoài connection.
Tải lại tường lửa của bạn để áp dụng những thay đổi bạn đã thực hiện.
Nếu thành công, cổng 8080 sẽ được mở trong vùng ngoài của tường lửa. Bạn có thể xác minh bằng cách chạy lệnh bên dưới.
Bạn sẽ nhận được kết quả như thế này.
Trong đó: server_IP_address là địa chỉ IP thực tế của máy chủ của bạn. Ví dụ, để truy cập máy chủ Jenkins trên 192.168.1.5, bạn sẽ nhập http://192.168.1.5:8080.
Trang Bắt đầu cho Jenkins sẽ xuất hiện, với mẹo về cách lấy lại mật khẩu quản trị viên ban đầu.
Đây là mật khẩu tạm thời được máy chủ Jenkins tự động tạo (nhưng không hiển thị) trong quá trình cài đặt.
Quay lại thiết bị đầu cuối của bạn và chạy lệnh sau để lấy lại mật khẩu.
Lệnh này sẽ in mật khẩu quản trị viên trong thiết bị đầu cuối của bạn.
Sao chép và dán mật khẩu này vào trường mật khẩu quản trị viên ban đầu trên trang Bắt đầu của Jenkins. Nhấp vào Tiếp tục ở góc dưới bên phải.
Bạn sẽ được đưa đến trang plug-in. Chọn Cài đặt plugin được đề xuất và nhấp vào Cài đặt ở cuối trang.
Điều này sẽ cài đặt một bộ plugin chuẩn cần thiết để Jenkins hoạt động bình thường.
Sau khi cài đặt hoàn tất, bạn sẽ được đưa đến trang Tạo người dùng quản trị đầu tiên. Nhập tên người dùng và mật khẩu cho người dùng quản trị đầu tiên. Và nhấp vào Lưu và tiếp tục.
Bạn sẽ được cung cấp trang Cấu hình phiên bản, tại đó bạn cần chỉ định URL gốc cho máy chủ Jenkins của mình. Giữ nguyên mặc định và nhấp vào Lưu và hoàn tất.
Cuối cùng, nhấp vào Bắt đầu sử dụng Jenkins ở trang cuối cùng.
Bạn sẽ được đưa đến bảng điều khiển Jenkins, nơi bạn sẽ bắt đầu xây dựng dự án đầu tiên của mình.
Quá trình cài đặt và cấu hình Jenkins hiện đã hoàn tất.
Để biết thêm thông tin về Jenkins, vui lòng xem tài liệu chính thức của Jenkins.
Nếu bạn có bất kỳ câu hỏi hoặc đề xuất nào, vui lòng để lại bình luận bên dưới.
Jenkins giúp chúng tôi thực hiện đáng kể hai nhiệm vụ quan trọng:
- Nó đảm bảo rằng tất cả các nhà phát triển đang làm việc với phiên bản mới nhất của các nguồn của dự án
- Nó cảnh báo mọi người trong trường hợp có sự cố trong quá trình xây dựng hoặc triển khai.
Ví dụ, Nhà phát triển A kiểm tra phiên bản mới từ hệ thống kiểm soát nguồn chính của dự án và sau khi thực hiện một số thay đổi đối với một vài tệp, anh ta có thể đẩy các cam kết cục bộ của mình để các nhà phát triển khác có thể sử dụng chúng. Nhà phát triển B có thể đã chỉnh sửa cùng một tệp vào khoảng thời gian này và sau đó cô ấy cũng đẩy các thay đổi của mình vào kho lưu trữ mã trung tâm. Đột nhiên, bất cứ khi nào nhà phát triển A cố gắng kiểm tra bản sao cục bộ của dự án, anh ta sẽ được thông báo rằng có những thay đổi mới hơn có sẵn trong kho lưu trữ mã trung tâm. Điều này giúp chúng ta tránh khỏi việc kéo các thay đổi chưa hoàn thiện hoặc lỗi thời từ các nhà phát triển khác và mất các chỉnh sửa của riêng mình thỉnh thoảng.
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn quy trình cài đặt và cấu hình máy chủ Jenkins trên máy Rocky Linux 8. Hướng dẫn này cũng có thể áp dụng cho các hệ điều hành Red Hat Linux và SUSE Linux khác.
Điều kiện tiên quyết
- Máy chủ cài đặt Rocky Linux 8 mới, RAM tối thiểu 1GB. 10 GB dung lượng trống cho mỗi vùng chứa docker mà Jenkins sẽ tạo.
- Người dùng không phải root có quyền sudo.
- Hướng dẫn này giả định rằng máy chủ của bạn có thể truy cập internet, thông qua kết nối trực tiếp hoặc qua bộ định tuyến/proxy thượng nguồn.
Bước 1: Cập nhật hệ thống
Điều đầu tiên chúng ta cần làm là cập nhật hệ thống. Điều quan trọng là phải có một bảng sạch bằng cách cập nhật tất cả các gói hiện có trên máy của chúng ta.
Mã:
sudo dnf update
Mã:
sudo yum update
Mã:
sudo reboot now
Bước 2: Cài đặt Java
Jenkins yêu cầu Java Development Kit (JDK) để chạy, vì vậy chúng ta sẽ cần cài đặt bộ công cụ đó. JDK là một gói trong hầu hết các bản phân phối Linux chứa Java Runtime Environment (JRE) và các công cụ khác để chạy/phát triển các ứng dụng và thư viện được viết bằng ngôn ngữ lập trình Java.Cả JDK 11 và JDK 8 đều có sẵn trong kho lưu trữ chính thức của Rocky Linux 8. Bạn có thể kiểm tra phiên bản JDK nào có sẵn trên hệ thống của mình bằng cách nhập lệnh bên dưới.
Mã:
sudo dnf search java-*-openjdk
Jenkins có thể chạy trên cả JDK 11 và JDK 8, nhưng một số plugin Jenkins cũ có thể không tương thích với JDK 11. Bạn nên sử dụng JDK 8. Trong bước này, chúng tôi cài đặt JDK 8 bằng lệnh sau.
Mã:
sudo dnf install java-1.8.0-openjdk -y
Mã:
java -version
Bước 3: Thêm kho lưu trữ Jenkins
Gói Jenkins không được bao gồm trong kho lưu trữ chính thức của Rocky Linux 8. Bạn phải thêm kho lưu trữ Jenkins để hệ thống tải xuống và cài đặt gói từ đó. Chúng tôi sẽ sử dụng kho lưu trữ Jenkins chính thức do nhóm Jenkins cung cấp.
Mã:
sudo dnf install wget -y
Mã:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
Mã:
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Mã:
sudo dnf repolist
Bước 4: Cài đặt Máy chủ Jenkins
Trước khi bạn có thể cài đặt máy chủ Jenkins, hãy cập nhật kho lưu trữ bằng lệnh sau:
Mã:
sudo dnf update -y
Mã:
sudo dnf install jenkins -y
Mã:
sudo systemctl status jenkins
Nếu dịch vụ jenkins không chạy, bạn có thể khởi động dịch vụ bằng cách nhập lệnh sau.
Mã:
sudo systemctl start jenkins
Mã:
sudo systemctl enable jenkins
Bước 5: Cấu hình Tường lửa
Nếu bạn cài đặt Jenkins trên máy chủ sau tường lửa, bạn sẽ cần mở một số cổng trong cả tường lửa và máy chủ để có thể truy cập Jenkins.Jenkins sử dụng cổng 8080 theo mặc định để truy cập từ xa, vì vậy bạn có thể muốn mở cổng này để cho phép bên ngoài connection.
Mã:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
Mã:
sudo firewall-cmd --reload
Mã:
sudo firewall-cmd --list-all
Bước 6: Thiết lập Máy chủ Jenkins
Mở trình duyệt web và nhập địa chỉ IP của máy chủ với cổng 8080 để truy cập Jenkins.
Mã:
http://server_IP_address:8080
Trang Bắt đầu cho Jenkins sẽ xuất hiện, với mẹo về cách lấy lại mật khẩu quản trị viên ban đầu.
Đây là mật khẩu tạm thời được máy chủ Jenkins tự động tạo (nhưng không hiển thị) trong quá trình cài đặt.
Quay lại thiết bị đầu cuối của bạn và chạy lệnh sau để lấy lại mật khẩu.
Mã:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Sao chép và dán mật khẩu này vào trường mật khẩu quản trị viên ban đầu trên trang Bắt đầu của Jenkins. Nhấp vào Tiếp tục ở góc dưới bên phải.
Bạn sẽ được đưa đến trang plug-in. Chọn Cài đặt plugin được đề xuất và nhấp vào Cài đặt ở cuối trang.
Điều này sẽ cài đặt một bộ plugin chuẩn cần thiết để Jenkins hoạt động bình thường.
Sau khi cài đặt hoàn tất, bạn sẽ được đưa đến trang Tạo người dùng quản trị đầu tiên. Nhập tên người dùng và mật khẩu cho người dùng quản trị đầu tiên. Và nhấp vào Lưu và tiếp tục.
Bạn sẽ được cung cấp trang Cấu hình phiên bản, tại đó bạn cần chỉ định URL gốc cho máy chủ Jenkins của mình. Giữ nguyên mặc định và nhấp vào Lưu và hoàn tất.
Cuối cùng, nhấp vào Bắt đầu sử dụng Jenkins ở trang cuối cùng.
Bạn sẽ được đưa đến bảng điều khiển Jenkins, nơi bạn sẽ bắt đầu xây dựng dự án đầu tiên của mình.
Quá trình cài đặt và cấu hình Jenkins hiện đã hoàn tất.
Kết luận
Trong hướng dẫn này, bạn đã học cách cài đặt Jenkins trên hệ thống Rocky Linux 8. Bây giờ bạn có thể tận hưởng những lợi ích của tích hợp liên tục và phân phối liên tục trong quy trình phát triển dự án của mình. Chúc bạn viết mã vui vẻ!Để biết thêm thông tin về Jenkins, vui lòng xem tài liệu chính thức của Jenkins.
Nếu bạn có bất kỳ câu hỏi hoặc đề xuất nào, vui lòng để lại bình luận bên dưới.