Nhập môn devops với khái niệm CI&CD là gì ?

Chào các bạn ở bài Devops là gì? khái niệm về devops mình đã giới thiệu cho các bạn các khái niệm cơ bản để trở thành devops rồi nhỉ. :)))

ở bài này mình sẽ giới thiệu cho các biết về việc truyển khai CI&CD cho dự án một trong những công việc mà devops phải làm nhiều nhất  ok đầu tiên chúng ta lướt qua khái niệm của nó đã

CI&CD là gì?

Vâng CI&CD nó đơn giản chỉ là  là việc tích hợp kiểm tra giám sát sản phẩm và truyển khai nó một cách liên tục và đồng bộ..!  nó được chia thành 2 phần là CICD

CI ( Continuous Integration) : google translate ra thì nó là Tích hợp liên tục :)) đại khái là việc yêu cầu các thành viên trong team coding tích hợp công việc của họ thường xuyên khi coding xong 1 function hay bất kể 1 task coding gì đó, mỗi khi tích hợp có sự thay đổi về mặt coding thì sẽ được build tự động đồng thời chạy junit test nhằm phát hiện lỗi nhanh nhất có thể bao gồm cả việc lỗi  checkStyle , hay là findbug thậm chí là cả coverage code khi việc vết test chưa đủ chạy qua hết các dòng lệnh thông thường ở mỗi dự án thì yêu cầu về coverage test sẽ khác nhau nhưng nhìn chung đa phần sẽ yêu cầu trên 80% thì mới đạt yêu cầu.

Tóm lại việc truyển khai CI sẽ là.

  • Kiểm tra và phát hiện lỗi của sản phẩm mà mấy lão dev làm ra một cách tự động
  • Giảm thiểu những quy trình thủ công lặp đi lặp lại tiết kiệm thời gian và chi phí của việc phát truyển phần mềm
  • Đảm bảo được chất lượng source code khi deploy lên một cách chất lượng nhất (không có CI thì nhiều khi còn đưa nhầm cho khách hàng cả bản source không build được ý chứ )
  • Phát hiện lỗi sớm để chủ động fix cho dev tránh trình trạng đá bóng lẫn nhau về cuối dự án

=> CI là việc kiểm tra chất lượng sản phẩm trước khi deploy…

CD ( Continuous Deployment) : translate thì nó ra Truyển khai liên tục  (mình dốt eng 😀 ) vậy truyển khai liên tục là như thế nào ? đó là việc tự động deploy source lên sever để chạy ra phần mềm một cách tự động khi mà source đạt chất lượng được đề ra và tất nhiên nó đã qua được ải CI ở trên chỉ đơn giản vậy thôi.

=> CI&CD được chạy một cách tự động và đồng bộ nó là một cặp đôi luôn đi liền với nhay không tách rời như thể Sơn Bá và Anh Đài trong phim trung quốc vậy :))

Công việc CI&CD được thực hiện như sau:

  1.  ông devops sẽ hỏi các sếp lớn các thứ các thứ về dự án..  sau đó lão ý sẽ cầm về được một bản note gồm dự án chạy bằng ngôn ngữ gì nó được deploy ra sao cài cắm môi trường thế nào, tiêu chuẩn bug coverage các thứ như thế nào. lúc này lão ấy mới cắm cúi setup môi trường và code script để cài đặt kịch bản kiểm tra và cài đặt kịch bản deploy.
  2. Khi môi trường CI&CD được cài cắm xong thì dev sẽ vào code đẩy lên git hay đâu đó nếu có sự thay đổi về code trên repo lập tức task CI sẽ chạy kiểm tra test buid các thứ và báo cáo kết quả có thể qua email, jira.. (tự động nhé :))
  3. Khi source đạt tiêu chuẩn thì sẽ được chuyển qua công đoạn CD deploy lại sản phẩm lên server còn không sẽ dừng tiến tình báo mail các thứ các thứ để fix source sao cho đảm bảo yêu cầu đặt ra của CI
  4.  CI server tiếp tục chờ thay đổi ở repo hoặc nó có thể được setup chạy tự động vào 1 khung giờ nào đó hay thay đổi một cái gì đó ở đâu đó tùy vào việc setup

Vâng bên trên là việc giới thiệu tóm tắt về CI&CD nếu có thắc mắc vui lòng để lại comment dưới bình luận nhé.

Chúc các bạn thành công..!