CI / CD là gì? – Công nghệ công cộng

0
4

        Vòng đời phát triển phần mềm Tích hợp liên tục / Phân phối liên tục mới hứa hẹn những cải tiến nghiêm trọng cho các công ty doanh nghiệp.
    

        
                                                                                    
                        

 devops.jpg "width =" 770 "/> </span><figcaption>
<p>
                                            Hình ảnh: iStockphoto / Rawpixel<br />
                                        </p>
</figcaption></figure>
<p> Mô hình Vòng đời phát triển phần mềm (SDLC) truyền thống diễn ra như sau: </p>
<ol>
<li> Lập kế hoạch </li>
<li> Thực hiện </li>
<li> Kiểm tra  </li>
<li> Tài liệu  </li>
<li> Triển khai và bảo trì  </li>
<li> Duy trì  </li>
<p> mô hình đã được sử dụng trong nhiều năm và nó đã phục vụ tốt cho ngành công nghiệp. Tuy nhiên, với sự ra đời và sử dụng rộng rãi của các ứng dụng được đóng gói, mô hình cũ không thực sự hoạt động tốt như vậy. Tại sao? Tốc độ. Một trong những lợi ích chính của các ứng dụng được đóng gói là tốc độ chúng có thể được tạo và triển khai. </p>
<p> Thậm chí tốt hơn, đặc biệt là đối với các doanh nghiệp cấp doanh nghiệp, là thực tế là các ứng dụng và dịch vụ được đóng gói có thể gần như hoàn toàn tự động từ triển khai, mở rộng, đến cập nhật. Hai khía cạnh đó (tốc độ và tự động hóa) thực sự không cho phép mô hình vòng đời truyền thống. </p>
<p> Và đó là nơi CI / CD phát huy tác dụng. CI / CD là gì? Tích hợp liên tục / Giao hàng liên tục. </p>
<p> <strong> XEM: </strong> <strong> Bộ tuyển dụng: Quản trị viên cơ sở dữ liệu </strong> <strong> (TechRepublic Premium) </strong> </p>
<h2> Đường ống là gì? </h2>
<p> Trước khi chúng ta nói về CI hoặc CD, trước tiên, tốt nhất bạn nên hiểu đường ống là gì. Thực tế, một đường ống là một nhóm các sự kiện hoặc công việc được kết nối với nhau theo một chuỗi. Nhưng nó phức tạp hơn một chút vì mỗi chuỗi (hoặc giai đoạn) phụ thuộc vào đầu ra của giai đoạn trước. Vì vậy: </p>
<p> Giai đoạn 1> Đầu ra> Giai đoạn 2> Đầu ra> Giai đoạn 3> Đầu ra </p>
<p> Nếu đầu ra của bất kỳ giai đoạn nào thất bại, giai đoạn tiếp theo cũng sẽ thất bại. Đường ống CI / CD là tất cả về tự động hóa: Bắt đầu xây dựng mã, thử nghiệm tự động và triển khai tự động đến môi trường dàn dựng hoặc sản xuất. Đó là một đường ống phức tạp, nhưng cực kỳ nhanh. </p>
<h2> Tích hợp liên tục (CI) là gì? </h2>
<p> Tích hợp liên tục là quá trình cho phép các nhà phát triển tích hợp mã mới vào kho lưu trữ được chia sẻ (như GitHub) suốt cả ngày. Việc gửi cam kết liên tục cho phép toàn bộ hệ thống (thường là bằng phương tiện tự động hóa) phát hiện bất kỳ lỗi tích hợp nào ở giai đoạn cam kết ban đầu để các vấn đề có thể được giải quyết ngay lập tức. </p>
<p> Khi mã mới được hợp nhất với kho lưu trữ hiện có, một bản dựng mới được kích hoạt. Khi quá trình xây dựng hoàn tất, các lần chạy thử sẽ tự động được thực hiện đối với bản dựng để đảm bảo không có gì bị hỏng. Sự tích hợp mã này xảy ra liên tục (do đó C trong CI). </p>
<h2> Phân phối liên tục (CD) là gì? </h2>
<p> Phân phối liên tục (CD) xảy ra vào cuối chu kỳ CI và chịu trách nhiệm phân phối tự động mã tích hợp từ quá trình phát triển sang sản xuất sân khấu, giai đoạn. CD không chỉ được giao nhiệm vụ tự động gửi mã tích hợp, mà còn đảm bảo mã được gửi không có lỗi hoặc chậm trễ. </p>
<p> Phân phối liên tục giúp các nhà phát triển hợp nhất mã mới vào nhánh chính với mức độ nhất quán cao. Phần CD của chu trình cũng chịu trách nhiệm kiểm tra chất lượng mã và thực hiện kiểm tra để đảm bảo bản dựng chức năng có thể được phát hành vào môi trường sản xuất. </p>
<h2> Các giai đoạn của CI / CD </h2>
<p> Chu kỳ phát triển của CI / CD ngắn hơn mô hình truyền thống. Các giai đoạn là: </p>
<ol>
<li> Cam kết </li>
<li> Xây dựng  </li>
<li> Thử nghiệm  </li>
<li> Triển khai <br /> 
<p> Không chỉ có ít giai đoạn hơn trong vòng đời này, nó còn chạy liên tục. Vì vậy, khi các nhà phát triển cam kết với kho lưu trữ suốt cả ngày, các bước tiếp theo sẽ tự động được thực hiện. Nhờ các công cụ tự động hóa như Jenkins, chu trình chuyển từ giai đoạn này sang giai đoạn khác liên tục. </p>
<h2> Ưu và nhược điểm của CI / CD </h2>
<p> Rõ ràng bạn sẽ có những lợi thế và bất lợi với chu kỳ phát triển này. Một số ưu điểm là: </p>
<ul>
<li> Tốc độ triển khai </li>
<li> Thử nghiệm và phân tích nhanh hơn  </li>
<li> Thay đổi mã nhỏ hơn  </li>
<p> và cách ly lỗi nhanh hơn  </li>
<li> Tăng độ bao phủ mã  </li>
<li> Tự động triển khai để sản xuất  </li>
<li> Không bao giờ gửi mã bị hỏng </li>
</li>
<p> ] Quá trình có thể lặp lại  </li>
<li> Thời gian trung bình nhanh hơn để giải quyết  </li>
<li> Backlog nhỏ hơn  </li>
<li> Cải thiện sự hài lòng của khách hàng  </li>
<p> Hàng tấn công cụ nguồn mở có sẵn  </li>
</ul>
<p> Những nhược điểm của CI / CD là: </p>
<ul>
<li> Phải học tập kỹ năng mới </li>
<li> để thực hiện tự động hóa  </li>
<li> Đầu tư trả trước lớn  </li>
<li> Các hệ thống kế thừa hiếm khi hỗ trợ CI / CD  </li>
<li> Mức độ kỷ luật và cống hiến cao đối với chất lượng  </li>
</ul>
<h2> CI / CD có phù hợp với doanh nghiệp của bạn không? </h2>
<p> Đây là một câu hỏi phức tạp, và đây là một câu hỏi sẽ cần lập kế hoạch quan trọng. Nhưng nếu bạn đang tìm cách tăng tốc vòng đời phát triển của mình và cung cấp một sản phẩm phù hợp hơn, thì Tích hợp liên tục / Phân phối liên tục có thể là lý tưởng cho công ty của bạn. </p>
<div data-component=                                                                                 

                                                

Cũng xem