Tổng quan đồ án
Trong bối cảnh các công ty công nghệ hàng đầu đầu tư vào tối ưu hóa quy trình phát triển phần mềm, việc áp dụng CI/CD trở nên quan trọng và tất yếu. CI/CD không chỉ tăng tốc độ phát triển và triển khai phần mềm, mà còn đảm bảo chất lượng và độ tin cậy của sản phẩm. Nó giúp các nhóm phát triển liên tục tích hợp và kiểm thử mã nguồn, nhanh chóng phát hiện và sửa lỗi, giảm thiểu rủi ro và nâng cao
hiệu suất làm việc.
Các công ty phần mềm có thể triển khai và quản lý hệ thống CI/CD linh hoạt và hiệu quả, đáp ứng nhanh chóng yêu cầu thị trường và người dùng. Nhóm chúng em đã triển khai một số mô hình CI/CD nhưng hệ thống vẫn chưa hoàn chỉnh do các quy trình tự động hóa còn phức tạp.

Triển khai hệ thống
Cài đặt Docker
Để Jenkins Server có thể sử dụng được Docker, trước tiên cần phải cài đặt Docker bằng các câu lệnh

Cài đặt Kubernetes Cluster


Azure Devops CI/CD
Mô hình triển khai

Github Actions CI/CD

Jenkins CI/CD trên Github

Jenkins CI/CD trên Git Server

Gitlab CI/CD

Kết luận

Khó khăn gặp phải & hạn chế
- Chi phí sử dụng Cloud cần phải cân nhắc.
- Chưa thể triển khai Kubernetes Cluster trên Git Server.
Hướng phát triển - Triển khai trên nhiều Cloud Provider khác.
- Tích hợp thêm nhiều công cụ IaC như Ansible, Terraform…
- Tích hợp thêm nhiều công cụ Monitoring như Grafana, Prometheus, RabbitMQ…
- Triển khai Nginx để làm map domain và tạo Ingress, Reverse Proxy…
- Triển khai trên source code phức tạp khác.
- Tìm hiểu và triển khai các công cụ bảo mật, ngăn chặn lỗ hỏng như OWASP ZAP, Snyk…
- Hướng đến khóa luận tốt nghiệp với đề tài liên quan đến DevSecOps.


