Mình thì muốn tìm hiểu về CICD nhưng đọc trên mạng nó như học triết vậy nên mình quyết định bắt tay vào làm khó đâu thì hỏi anh gồ tới đó và thiết lập đầy đủ môi trường để làm việc.
CICD là viết tắt của The Continuous Integration & Continuous Deployment/ Continuous Delivery.
Continuous Integration (CI): Việc thường xuyên cập nhật kết quả mình làm được cùng với những thành viên khác sẽ thúc đẩy quá trình hoàn thành sản phẩm càng sớm càng tốt. Giúp kiểm soát tình hình thông qua các node chức năng (UT, CQM,…) khiến sản phẩm đạt sự ổn định với chất lượng tốt nhất có thể.
Continuous Deployment (CD): Là khái niệm có quan hệ rất mật thiết với Continuous Integration, Continuous Deployment giúp việc triển khai ứng dụng có thể được diễn ra trong bất cứ thời điểm nào và sau đó thậm chí là tự động cho ra một phiên bản mới trên môi trường test hoặc quá trình sản xuất nếu như bản build vượt qua được tất cả các nút trước đó. Với cách làm như vậy, nếu xảy ra lỗi trong quá trình build (Cam kết code không vượt qua các kiểm định về chất lượng (CQM) hoặc các trường hợp kiểm tra (UT, IT, ST) nhà phát triển sẽ có thể dễ dàng xác định được lỗi diễn ra ở đâu và qua đó giúp sửa lỗi một cách hiệu quả hơn.
Continuous Delivery: Tương tự như Continuous Deployment dự án có thể deploy ở bất cứ thời điểm nào. tuy nhiên điều này không có nghĩa là nó có thể đảm bảo ứng dụng có thể được deploy một cách an toàn trên môi trường production vì thông thường sẽ có sự khác biệt trong cách cấu hình ứng dụng giữa môi trường production và test do vậy nó sẽ dừng lại và không thực hiện deploy lên môi trường production.
Đầu tiên để làm được CICD thì bạn phải cài được hai thằng gitlab runner và docker đã đọc 2 bài này nha:
Cài Đặt Git Runner Để Làm CICD
I: Tạo một image private chứa các thông tin cần thiết với một Dockerfile như sau
những thông tin cần lưu ý:
- id_rsa là file ssh private key của bạn
- known_hosts là file xác thực kết nối các bạn nên dùng ssh một lần thành công để lấy nội dung cho file này nhé nếu thiếu cũng không chạy được đâu nhé.
Sau đó chúng ta build image và đẩy chúng lên docker registry chúng ta đã cài
II: Thiết lập CICD trên gitlab
Sau khi cài song thì chúng ta vào gitlab project tạo một file tên là .gitlab-ci.yml bạn phải đặt đúng tên nhé
sau đó tạo 1 file auto-deploy.sh
Tiếp theo chúng ta vào setting và chọn CICD click vào Variables set các giá trị
- DEPLOY_HOST_PROD: IP máy chủ cần deploy
- DEPLOY_PORT_PROD: cổng ssh
- PROJECT_LOCATION_PROD: localtion sẽ pull code về.
Sau đó cập nhập thử code và hưởng thụ thôi, đây là một CICD đơn giản là chỉ có pull code từ git về thôi, trong phần sau mình sẽ hướng dẫn các bạn thêm cách dùng các câu lệnh check cú pháp trước khi chạy deploy.
kết quả đây:
mỗi khi có một commit code hệ thống sẽ tự động đẩy về cho mình
