CI/CD LÀ GÌ

I. CI là ...?

CI là Continuous Integration. Nó là phương thức cải tiến và phát triển ứng dụng từng trải các thành viên của team tích vừa lòng công việc của họ thường xuyên, hằng ngày ít nhất một lần. Mỗi tích đúng theo được "build" tự động hóa (bao gồm cả test) nhằm mục đích phạt hiện nay lỗi nkhô giòn độc nhất vô nhị hoàn toàn có thể. Cả team nhận thấy rằng biện pháp tiếp cận này giảm tgọi sự việc tích hợp và được cho phép cách tân và phát triển phần mềm nhanh khô hơn.

Bạn đang xem: Ci/cd là gì

Một kịch phiên bản CI bắt đầu bởi Việc developer commit code lên repository (github chẳng hạn). Bất kỳ đổi khác như thế nào cũng trở nên trigger một vòng đời CI. Các bước vào một kịch phiên bản CI thường xuyên nlỗi sau:

Thứ nhất, developer commit code lên repo.CI server giám sát repo cùng chất vấn coi liệu có thay đổi như thế nào bên trên repo hay là không (liên tiếp, ví dụ điển hình mỗi phút 1 lần)Ngay lúc commit xảy ra, CI server phân phát hiện repo có biến hóa, vì thế nó nhận code tiên tiến nhất tự repo và tiếp đến build, chạy unit cùng integration testCI server vẫn hiện ra những feedbachồng cùng gửi mang lại các thành viên của projectCI server thường xuyên ngóng thay đổi sống repo

*

Mỗi lần developer làm cho dứt task, họ nên chạy một private build (Có nghĩa là chạy ứng dụng bên trên local trước), check choác cẩn thận và commit code lên repo Khi sẽ thấy ổn. Bước này xảy ra liên tục cùng sống ngẫu nhiên thời gian như thế nào trong ngày. Việc build tích đúng theo sẽ không còn xẩy ra Khi những thay đổi này chưa ảnh hưởng đến repo (đẳng cấp như chúng ta commit nhưng mà không được merge vậy).

giữa những tuim ngôn của CI là "Build Software at Every Change". Mục đích là nhằm tách các câu dạng hình nhỏng "Ớ, phần này chạy xe trên vật dụng em bình thường mà"

*

Trong lúc Continuous Integration là các bước để build và thử nghiệm tự động hóa, thì Continuous Delivery (trợ thời dịch là bàn giao liên tục) lại nâng cấp hơn một chút ít, bằng phương pháp xúc tiến tất cả chuyển đổi về code (đã được build với test) cho môi trường thiên nhiên testing hoặc staging. Continuous Delivery có thể chấp nhận được developer tự động hóa hóa phần testing lân cận bài toán thực hiện unit thử nghiệm, khám nghiệm phần mềm qua không ít thước đo trước lúc xúc tiến mang lại người tiêu dùng (production). Những bài xích test này bao gồm UI testing, load testing, integration testing, API testing... Nó tự động trọn vẹn quá trình release phần mềm.

Continuous Delivery được thực hiện bằng cách thực hiện Deployment Pipeline.

Deployment Pipeline phân tách các bước chuyển giao ứng dụng thành các quy trình tiến độ. Mỗi quy trình tiến độ có mục tiêu xác minh quality của những tính năng lạ xuất phát từ một khía cạnh không giống nhau nhằm kiểm nghiệm chức năng và nên tránh lỗi ảnh hưởng đến người dùng. Pipeline vẫn cung ứng đánh giá đến team trong Việc hỗ trợ tính năng được cải thiện. Ở góc độ trừu tượng rộng, deployment pipeline là quy trình nhằm đưa phần mềm từ bỏ version control đến tay người dùng. Mỗi biến đổi mang đến ứng dụng đang đi qua 1 quy trình tinh vi sẽ được xây dựng.

Xem thêm: Lỡ Tay Làm Vỡ Gương Có Điềm Gì ? Hên Hay Xui Làm Vỡ Gương Là Điềm Báo Gì

*

Có một tư tưởng nữa là Continuos Deployment, và nhị quan niệm này thường xuyên giỏi bị lầm lẫn cùng nhau. Nếu Continuous Delivery là thực hiện code lên môi trường xung quanh staging, cùng deploy bằng tay thủ công lên môi trường thiên nhiên production, thì Continuous Deployment (cũng viết tắt là CD

*

III. DevOps

DevOps là kết hợp của Development cùng Operations, thuật ngữ này xuất hiện thêm năm 2009, là sự phối kết hợp của triết lý văn hóa truyền thống, trong thực tiễn với phần đông vẻ ngoài nhằm mục đích mục tiêu tăng tốc độ chuyển nhượng bàn giao áp dụng và hình thức dịch vụ của tổ chức: trở nên tân tiến cùng đổi mới sản phẩm nkhô hanh hơn những tổ chức triển khai áp dụng quá trình trở nên tân tiến ứng dụng cùng quản lý hạ tầng truyền thống cuội nguồn. Tốc độ này được cho phép các tổ chức triển khai giao hàng quý khách hàng giỏi hơn và tuyên chiến đối đầu hiệu quả hơn bên trên Thị trường.

*

DevOps khuyến khích toàn bộ member vượt qua trở ngại (trường đoản cú góc độ nghề nghiệp, trình độ chuyên môn, thành phần khác nhau ...) và tạo nên một môi trường thiên nhiên nhưng sinh sống đó những người tạo thành ứng dụng cùng những người cung cấp hoạt động vui chơi của phần mềm làm việc bên nhau trong một côn trùng liên kết chặt chẽ với hợp lý, vì chưng ích lợi phổ biến của bầy.

Về khía cạnh quan niệm, CD cùng DevOps là nhị thứ khác biệt, tuy nhiên bọn chúng có chân thành và ý nghĩa tương tự nhau, là tập trung vào phần nhiều biến đổi nhỏ tuổi, mau lẹ có mức giá trị cùng với người tiêu dùng. CD là phương pháp tiếp cận nhằm tự động bàn giao, tập trung vào việc develop, build, demo, delivery thành phầm nhanh lẹ. Còn DevOps có phạm vi rộng lớn hơn, và nó không hẳn công cụ, chẳng đề xuất chuyên môn, nó là một trong những sản phẩm "văn hóa". shop có thể triển khai triết lý DevOps nhưng mà ko yêu cầu cài đặt CD, và trở lại, thiết đặt CD cơ mà không cần thiết phải sử dụng triết lý DevOps lên tổ chức triển khai. Nhưng nhằm giành được thành công với kết quả, tốt nhất có thể là thực hiện phối hợp cả hai: CD với DevOps. DevOps và Continuous Delivery chính là tương lai của trở nên tân tiến ứng dụng.

Về DevOps thì trên tamlinhviet.org cũng có thể có một series nội dung bài viết, mọi người có thể search nhằm xem thêm.