Một trong những công việc hot những năm gần đây trong quá trình tích hợp và triển khai phần mềm đó là:
Và bằng việc tận dụng nhưng công cụng được cung câp sẵn của các nền tảng (Gitlab) hỗ trợ CICD, thì toàn bộ quá trình trên sẽ được làm tự động, code xong ta chỉ cần commit thôi, ta không cần phải tự chạy test, xem đúng hay sai, sau đó tự build, tự đẩy image rồi tự deploy.
Thử tưởng tượng một project có nhiều người cùng tham gia, mỗi ngày hàng chục, hàng trăm commit. Thì những công đoạn nhàm chán kia tốn thời gian biết chừng nào 🥹. Thay vào đó mọi thứ được làm tự động, đảm bảo code của chúng ta chạy đúng, test đủ và ra production càng sớm càng tốt để user được trải nghiệm tính năng mới.
CI/CD (Continuous Integration/Continuous Delivery – tích hợp liên tục / triển khai liên tục):
Và 1 quá trình từ khi code của chúng ta bước vào CICD và kết thúc người ta thường gọi là 1 pipepline, trong pipeline này chúng ta sẽ có nhiều job, mỗi job làm 1 công việc cụ thể (build image, test image,….)
Ví dụ các bạn xem ở repository của VueJS ở đây, ta thấy rằng VueJS đang dùng Github Actions để chạy một số test (xem hình)
Và sau khi có 1 ai commit hoặc tạo pull request vào repo này quá trình CICD lại được kích hoạt để kiểm tra code có đạt đủ yêu cầu hay không.
Các bạn chú ý là CICD chạy sau khi code được commit lên và có sẵn ở repo rồi, và nếu quá trình này mà FAILED(thất bại – có lỗi) thì code của lần commit đó vẫn được sáp nhập vào repo chứ không bị huỷ đi nhé. Và trong trường hợp này ta sẽ nhận được thông báo về việc CICD Fail (qua email hoặc trực tiếp qua giao diện)
Ta cùng thử xem qua 1 ví dụ nữa đó là source code của cả hệ thống Gitlab, với project khủng này thì những quá trình như build và test sẽ chiếm rất nhiều thời gian cho từng commit, đồng thời 1 ngày có biết bao nhiêu người commit vào repo này, vậy nên họ có 1 CICD pipeline khá khủng như sau (các bạn click vào link để xem hết, đây mình zoom để xem được cả nên trông chữ bé tí 🤪):
Các bạn có thể xem chi tiết về từng job sẽ thấy họ làm rất rất nhiều thứ ở đó, để đảm bảo chất lượng cho toàn bộ code của mình
Mình muốn nói thêm lí do vì sao mình chọn Gitlab cho hầu hết tất cả các project trong công việc của mình:
Gitlab họ là 1 platform tổng thể với rất nhiều dịch vụ đầy đủ cho toàn bộ quá trình phát triển phần mềm: từ lưu trữ code như Github, đến CICD như CircleCI, có cả Registry như Docker hub, và rất rất nhiều thứ, và điều quan trọng nhất đó là với tài khoản Free chúng ta có gần như hầu hết unlimited các tính năng 😉
Oke bắt đầu thôi nào….
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE