Hướng dẫn triển khai CI/CD Pipeline cơ bản
Các công cụ cần thiết:
- Git
- Jenkins
- Docker
Giới thiệu về Git
Git là một hệ thống quản lý phiên bản phân tán mã nguồn mở, được sử dụng để quản lý hiệu quả các dự án với mọi quy mô. GitHub là dịch vụ lưu trữ mã nguồn trực tuyến dựa trên Git, được phát triển bằng Ruby on Rails từ năm 2008. GitHub cung cấp cả tài khoản miễn phí và trả phí - cả hai đều cho phép tạo kho mã nguồn công khai, nhưng chỉ tài khoản trả phí mới có thể tạo kho riêng tư. Gitlab giải quyết vấn đề này bằng cách cho phép tạo kho riêng tư miễn phí.
Cài đặt Git trên Windows
Để cài đặt Git trên Windows, người dùng có thể tải xuống từ trang chủ hoặc tham khảo các hướng dẫn trực tuyến.
Sau khi cài đặt, sử dụng tổ hợp phím Win + R và nhập "cmd" để mở cửa sổ dòng lệnh. Kiểm tra phiên bản Git bằng cách nhập:
git --version
Nếu hệ thống hiển thị phiên bản Git, tức là cài đặt thành công. Lệnh git --help cung cấp thông tin về các lệnh Git thường dùng như clone, pull, commit, push. Các lệnh này có thể được thực hiện trực tiếp trong cửa sổ dòng lệnh hoặc thông qua các plugin tích hợp trong IDE như IntelliJ IDEA.
Thiết kế quy trình triển khai
Quy trình hoạt động như sau:
- Developer push code lên repository (GitLab, GitHub)
- Jenkins tự động pull code và kích hoạt build
- Maven biên dịch và đóng gói ứng dụng
- Shell script thực hiện build Docker image và push lên registry
- Jenkins kết nối SSH đến server deploy
- Docker pull image và khởi chạy container
Công việc 1: Cài đặt Docker trên Windows
Do Docker được thiết kế để chạy trên môi trường Linux, việc cài đặt trên Windows yêu cầu kích hoạt công nghệ ảo hóa của hệ thống.
Bước 1: Kích hoạt Hyper-V
Truy cập Windows Features và bật tùy chọn Hyper-V. Nếu không thấy tùy chọn này, hãy chọn "Virtual Machine Platform" thay thế. Sau khi kích hoạt, khởi động lại máy tính để áp dụng thay đổi.
Bư�2: Tải và cài đặt Docker Desktop
Tải Docker Desktop từ trang chủ và cài đặt. Sau khi cài đặt hoàn tất, khởi động ứng dụng.
Công việc 2: Cài đặt Jenkins trong Docker
Quy trình cài đặt:
- Tạo Jenkins container
- Cấu hình Jenkins
- Hoàn tất cài đặt
1. Tạo Jenkins Container
Sau khi Docker được cài đặt, mở terminal bằng Win + R và nhập "cmd". Thực hiện lệnh sau để tạo container:
docker run -p 9090:8080 -p 55000:50000 -v jenkins_data:/var/jenkins_home jenkins/jenkins:lts
Giải thích các tham số:
-p 9090:8080: Ánh xạ cổng 9090 của máy host với cổng 8080 của container, dùng để truy cập giao diện web Jenkins-p 55000:50000: Ánh xạ cổng 55000 của máy host với cổng 50000 của container, dùng cho kết nối agent-v jenkins_data:/var/jenkins_home: Mount thư mục jenkins_data từ máy host vào thư mục /var/jenkins_home trong container để lưu trữ cấu hình và dữ liệujenkins/jenkins:lts: Sử dụng image Jenkins phiên bản LTS chính thức từ Docker Hub
Lệnh này sẽ tải xuống image Jenkins từ Docker Hub và tạo container mới.
Lưu ý quan trọng:
Vấn đề 1 - Cổng Docker Hub không truy cập được:
Theo mặc định, Docker sử dụng registry mặc định có thể gây ra lỗi khi pull image. Cấu hình mirror trong file daemon.json:
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu",
"https://registry.aliyuncs.com",
"https://docker.nju.edu.cn"
]
}
Vấn đề 2 - Cổng localhost bị chiếm dụng:
Giải pháp:
- Thay đổi cổng ánh xạ trong lệnh docker run
- Hoặc giải phóng cổng bị chiếm dụng:
- Mở Task Manager bằng Ctrl + Alt + Delete
- Vào Resource Monitor
- Tìm PID của process đang sử dụng cổng
- Mở cmd và chạy:
taskkill /PID [PID] /F
2. Cấu hình Jenkins
Sau khi container được tạo, truy cập http://localhost:9090 để mở giao diện web Jenkins. Giao diện ban đầu sẽ hiển thị mật khẩu admin tự động sinh ra.
Để lấy mật khẩu, sử dụng lệnh:
docker logs [container_name_or_id]
Thay thế [container_name_or_id] bằng tên hoặc ID thực tế của container. Tìm dòng chứa "Jenkins initial setup is required" - mật khẩu admin nằm ngay sau dòng này.
Hoặc có thể xem trực tiếp trong giao diện Jenkins tại vị trí được chỉ định.
Sau khi nhập mật khẩu, chọn "Install suggested plugins" để cài đặt các plugin được khuyến nghị. Trong quá trình cài đặt plugin, tạo tài khoản admin và hoàn tất cấu hình.
3. Hoàn tất cài đặt
Sau khi plugin được cài đặt, hệ thống sẽ chuyển hướng đến dashboard của Jenkins. Nhấn "Start using Jenkins" để bắt đầu sử dụng.
Quá trình cài đặt Jenkins trên Windows thông qua Docker đã hoàn tất. Bây giờ có thể sử dụng Jenkins để tạo và quản lý các dự án phần mềm, thực hiện các tác vụ build và deploy tự động.
4. Hướng dẫn sử dụng ban đầu
Nhập mật khẩu đã lấy ở bước trước vào ô xác thực. Chọn các plugin được đề xuất để cài đặt. Thời gian tải plugin tùy thuộc vào tốc độ mạng. Sau khi hoàn tất, giao diện sử dụng Jenkins sẽ hiển thị.