0
0
Lập trình
Admin Team
Admin Teamtechmely

Hướng dẫn CI/CD với GitLab và Jenkins trên Ubuntu 24.04

Đăng vào 1 tháng trước

• 4 phút đọc

Hướng dẫn CI/CD với GitLab và Jenkins trên Ubuntu 24.04

Giới thiệu

Trong bài viết này, chúng ta sẽ tìm hiểu cách thiết lập CI/CD (Continuous Integration/Continuous Deployment) bằng cách sử dụng GitLab và Jenkins trên hệ điều hành Ubuntu 24.04. Jenkins là một công cụ tự động hóa phổ biến giúp phát triển phần mềm nhanh chóng và hiệu quả. Kết hợp với GitLab, chúng ta có thể xây dựng một quy trình làm việc tự động hoàn hảo cho dự án của mình.

Mục lục

  1. Cài đặt và cấu hình Ubuntu
  2. Cài đặt Jenkins
  3. Cấu hình Jenkins cho GitLab
  4. Thực hành tốt nhất
  5. Những cạm bẫy thường gặp
  6. Mẹo hiệu suất
  7. Giải quyết sự cố
  8. Kết luận

Cài đặt và cấu hình Ubuntu

Bước đầu tiên là cập nhật hệ điều hành Ubuntu 24.04 của bạn và cài đặt các gói phụ thuộc cần thiết.

Cập nhật Ubuntu

bash Copy
sudo apt update
sudo apt install -y openjdk-17-jdk curl gnupg2 apt-transport-https software-properties-common

Jenkins phiên bản 2.x/3.x yêu cầu Java 17 để hoạt động. Các gói curl, gnupg2, apt-transport-https là cần thiết để truy cập kho lưu trữ Jenkins.

Cài đặt Jenkins

Thêm kho lưu trữ Jenkins

Chúng ta cần thêm kho lưu trữ Jenkins vào hệ thống. Thực hiện các lệnh sau:

bash Copy
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb \[signed-by=/usr/share/keyrings/jenkins-keyring.asc\] https://pkg.jenkins.io/debian binary/ | \
sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null

Cài đặt Jenkins

Sau khi thêm kho lưu trữ, tiến hành cài đặt Jenkins:

bash Copy
sudo apt update
sudo apt install -y jenkins

Khởi động và kích hoạt Jenkins

Sau khi cài đặt, hãy khởi động Jenkins và đảm bảo nó tự động khởi động khi máy chủ khởi động lại:

bash Copy
sudo systemctl start jenkins
sudo systemctl enable jenkins
sudo systemctl status jenkins

Mặc định, Jenkins hoạt động trên cổng 8080. Để thay đổi cổng này, bạn cần chỉnh sửa tập tin cấu hình:

bash Copy
sudo nano /etc/default/jenkins

Thay đổi dòng HTTP_PORT=8080 thành HTTP_PORT=8008. Sau đó, bạn cần cập nhật dịch vụ:

bash Copy
sudo systemctl daemon-reload
sudo systemctl restart jenkins

Kiểm tra cổng

Để kiểm tra rằng Jenkins đang chạy, bạn có thể sử dụng lệnh sau:

bash Copy
ss -tulnp | grep jenkins

Mở trình duyệt và truy cập địa chỉ: http://jenkins-server-ip:8080
Để cho phép tường lửa, sử dụng lệnh:

bash Copy
sudo ufw allow 8080

Mở khóa Jenkins

Để mở khóa Jenkins lần đầu tiên, bạn cần lấy mật khẩu admin:

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

Sử dụng mật khẩu này để đăng nhập vào giao diện Jenkins.

Cài đặt các Plugin Khuyến nghị

Sau khi đăng nhập, bạn sẽ được yêu cầu cài đặt các plugin khuyến nghị. Chọn tùy chọn Install suggested plugins.

Cài đặt Plugin cho GitLab

Sau khi cài đặt xong các plugin, bạn cần cài đặt thêm một số plugin cần thiết cho GitLab:

  • GitLab
  • SSH Agent
  • GitLab API
  • GitLab Hook

Sau khi cài đặt, hãy khởi động lại Jenkins để áp dụng các thay đổi.

Thiết lập SSH Access

Để Jenkins có thể truy cập vào máy chủ ứng dụng mà không cần mật khẩu, bạn cần thiết lập SSH không cần mật khẩu.

Tạo SSH Key

Trên máy chủ Jenkins, tạo một cặp SSH key:

bash Copy
ssh-keygen -t rsa -b 4096 -C "jenkins@jenkins-server"

Thêm Public Key vào Authorized Keys

Sao chép public key vào máy chủ ứng dụng:

bash Copy
ssh-copy-id user@application-server-ip

Bây giờ bạn có thể đăng nhập vào máy chủ ứng dụng từ Jenkins mà không cần mật khẩu:

bash Copy
ssh user@application-server-ip "ls -la"

Thực hành tốt nhất

  • Luôn đảm bảo rằng Jenkins và các plugin được cập nhật: Điều này giúp bảo vệ hệ thống của bạn khỏi các lỗ hổng bảo mật.
  • Sử dụng các key SSH mạnh: Điều này giúp tăng cường bảo mật cho kết nối giữa Jenkins và máy chủ ứng dụng.
  • Thường xuyên sao lưu cấu hình Jenkins: Đảm bảo rằng bạn có thể khôi phục lại hệ thống trong trường hợp có sự cố.

Những cạm bẫy thường gặp

  • Không cập nhật Java: Đảm bảo bạn đã cài đặt đúng phiên bản Java cần thiết cho Jenkins.
  • Quên mở cổng tường lửa: Kiểm tra cài đặt tường lửa của bạn để đảm bảo Jenkins có thể được truy cập từ bên ngoài.

Mẹo hiệu suất

  • Tối ưu hóa tài nguyên máy chủ: Đảm bảo máy chủ của bạn có đủ RAM và CPU để xử lý các tác vụ CI/CD.
  • Sử dụng các node Jenkins: Nếu bạn có nhiều dự án, hãy cân nhắc sử dụng các node để phân phối tải công việc.

Giải quyết sự cố

Nếu bạn gặp vấn đề với Jenkins, hãy kiểm tra các log:

bash Copy
sudo tail -f /var/log/jenkins/jenkins.log

Nếu Jenkins không khởi động, hãy xem xét lại các cấu hình đã thực hiện và đảm bảo rằng không có lỗi chính tả.

Kết luận

Việc thiết lập CI/CD với GitLab và Jenkins trên Ubuntu 24.04 là một quy trình đơn giản nhưng rất mạnh mẽ. Bằng cách tự động hóa quy trình phát triển phần mềm của bạn, bạn có thể tiết kiệm thời gian và giảm thiểu lỗi. Hãy bắt đầu ngay hôm nay và tối ưu hóa quy trình làm việc của bạn!

Câu hỏi thường gặp (FAQ)

1. Jenkins có miễn phí không?
Có, Jenkins là một phần mềm mã nguồn mở miễn phí.

2. Tôi có thể sử dụng Jenkins để triển khai ứng dụng nào?
Jenkins hỗ trợ nhiều ngôn ngữ và nền tảng khác nhau, bao gồm Java, Python, Node.js, v.v.

3. Làm thế nào để nâng cấp Jenkins?
Bạn có thể nâng cấp Jenkins bằng cách sử dụng lệnh sudo apt update && sudo apt upgrade jenkins.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào