Hội nhập liên tục
Tôi đồng ý với định nghĩa của trường đại học của bạn. Tích hợp liên tục là một chiến lược để làm thế nào một nhà phát triển có thể tích hợp mã vào dòng chính liên tục - trái ngược với thường xuyên.
Bạn có thể cho rằng đó chỉ là một chiến lược phân nhánh trong hệ thống kiểm soát phiên bản của bạn.
Nó phải làm với kích thước của các nhiệm vụ bạn giao cho nhà phát triển; Nếu một nhiệm vụ được ước tính mất 4-5 ngày, thì nhà phát triển sẽ không có ý định cung cấp bất cứ điều gì trong 4-5 ngày tới, bởi vì anh ta chưa hoàn thành bất cứ điều gì - chưa.
Vì vậy, vấn đề kích thước:
small task = continuous integration
big task = frequent integration
Kích thước nhiệm vụ lý tưởng không lớn hơn một ngày làm việc. Bằng cách này, một nhà phát triển đương nhiên sẽ có ít nhất một tích hợp mỗi ngày.
Giao hàng liên tục
Về cơ bản có ba trường trong Giao hàng liên tục:
Giao hàng liên tục là sự mở rộng tự nhiên của Tích hợp liên tục
Ngôi trường này, nhìn vào loạt chữ ký của Addison-Wesley "Martin Fowler" và đưa ra giả định rằng kể từ khi phát hành năm 2007 được gọi là "Tích hợp liên tục" và phiên bản tiếp theo vào năm 2011 được gọi là "Giao hàng liên tục" , có lẽ chúng là tập 1 + 2 của cùng một ý tưởng khái niệm phải làm với một cái gì đó liên tục .
Giao hàng liên tục phải làm với Phát triển phần mềm Agile
Ngôi trường này lấy ý tưởng rằng Giao hàng liên tục là tất cả về khả năng hỗ trợ các nguyên tắc trong phong trào nhanh nhẹn, không chỉ là một ý tưởng khái niệm hay một lá thư về ý định mà còn trong thực tế - trong cuộc sống thực.
Lấy bù theo nguyên tắc đầu tiên trong Tuyên ngôn Agile trong đó thuật ngữ "giao hàng liên tục" thực sự được sử dụng lần đầu tiên:
Ưu tiên cao nhất của chúng tôi là làm hài lòng khách hàng thông qua việc cung cấp phần mềm có giá trị sớm và liên tục.
Trường này tuyên bố rằng "Giao hàng liên tục" là một mô hình bao gồm mọi thứ cần thiết để thực hiện xác minh tự động về "định nghĩa hoàn thành" của bạn .
Trường này chấp nhận rằng "Giao hàng liên tục" và từ buzz hay megatrend "DevOps" là mặt trái của cùng một đồng tiền, theo nghĩa là cả hai đều cố gắng nắm lấy hoặc gói gọn mô hình hoặc cách tiếp cận mới này chứ không chỉ là một kỹ thuật.
Giao hàng liên tục là từ đồng nghĩa với Triển khai liên tục
Trường thứ ba ủng hộ rằng Triển khai liên tục và phân phối liên tục có thể được sử dụng thay thế cho nhau để có nghĩa tương tự.
Khi một cái gì đó đã sẵn sàng trong tay các nhà phát triển, nó sẽ được gửi ngay cho người dùng cuối, điều này trong hầu hết các trường hợp sẽ có nghĩa là nó sẽ được triển khai vào môi trường sản xuất. Do đó "Triển khai" và "Giao hàng" có nghĩa giống nhau.
Học trường nào
Trường đại học của bạn rõ ràng đã gia nhập trường đầu tiên và tuyên bố rằng chúng tôi đang đề cập đến tập 1 + 2 của cùng một ấn phẩm. Ý kiến của tôi là đây là một sự lạm dụng của thuật ngữ Giao hàng liên tục.
Cá nhân tôi ủng hộ cho sự hiểu biết rằng Giao hàng liên tục có liên quan đến việc thực hiện hỗ trợ thực tế cho các ý tưởng và khái niệm được nêu trong phong trào nhanh nhẹn. Vì vậy, tôi đã tham gia vào trường học nói rằng thuật ngữ này bao trùm cả một mô hình - như "DevOps".
Trường sử dụng phân phối như một từ đồng nghĩa để triển khai hầu hết được ủng hộ bởi các nhà cung cấp công cụ tạo ra các bảng điều khiển triển khai, cố gắng có được một chút cường điệu từ việc sử dụng rộng rãi hơn thuật ngữ Giao hàng liên tục .
Triển khai liên tục
Việc tập trung vào Triển khai liên tục chủ yếu có liên quan trong các lĩnh vực nơi người dùng cuối truy cập vào các bản cập nhật phần mềm phụ thuộc vào việc cập nhật một số nguồn tập trung cho thông tin này và ở đó nguồn tập trung này không phải lúc nào cũng dễ dàng cập nhật vì nó nguyên khối hoặc có (quá) kết hợp cao theo bản chất (web, SOA, cơ sở dữ liệu, v.v.).
Đối với nhiều miền sản xuất phần mềm không có nguồn thông tin tập trung (thiết bị, sản phẩm tiêu dùng, cài đặt máy khách, v.v.) hoặc nơi dễ dàng cập nhật nguồn thông tin (kho lưu trữ hệ thống quản lý nhân tạo, kho lưu trữ nguồn mở, v.v. ), hầu như không có sự cường điệu nào về thuật ngữ Triển khai liên tục cả. Họ chỉ triển khai; nó không phải là một vấn đề lớn - nó không phải là một nỗi đau đòi hỏi sự tập trung đặc biệt.
Thực tế là Triển khai liên tục không phải là điều gì đó thú vị chung cho mọi người cũng là một lập luận cho rằng trường tuyên bố rằng "giao hàng" và "triển khai" là những từ đồng nghĩa sai. Bởi vì Phân phối liên tục thực sự có ý nghĩa hoàn toàn tốt đối với mọi người - ngay cả khi bạn đang thực hiện phần mềm nhúng trong thiết bị hoặc phát hành plugin Nguồn mở cho khung.
Định nghĩa của trường đại học của bạn rằng Triển khai liên tục là một bước tiếp theo tự nhiên của Giao hàng liên tục mặc nhiên cho rằng mọi giao hàng được QA'ed nên cung cấp cho người dùng cuối ngay lập tức, gần với định nghĩa mà bộ lạc của tôi sử dụng để mô tả thuật ngữ "Continous Phát hành ", đến lượt nó, là một khái niệm khác không có ý nghĩa chung đối với mọi người.
Một bản phát hành có thể là một điều rất chiến lược hoặc chính trị và không có lý do gì để cho rằng mọi người đều muốn làm điều này mọi lúc (trừ khi họ là một cửa hàng sách trực tuyến thuộc loại dịch vụ phát trực tuyến của công ty). Tuy nhiên, các công ty không mù quáng phát hành mọi thứ mọi lúc có thể có bất kỳ lý do nào khiến họ muốn trở thành bậc thầy về triển khai, vì vậy họ cũng thực hiện Triển khai liên tục . Không phải phát hành vào sản xuất, mà là các ứng cử viên phát hành cho các môi trường giống như sản xuất .
Một lần nữa tôi tin rằng trường đại học của bạn đã nhận sai. Họ đang nhầm "Triển khai liên tục" cho "Phát hành liên tục".
Triển khai liên tục chỉ đơn giản là kỷ luật liên tục có thể chuyển kết quả của quá trình phát triển sang môi trường giống như sản xuất, nơi thử nghiệm chức năng có thể được thực hiện ở quy mô đầy đủ.
Cốt truyện giao hàng liên tục
Trong ảnh tất cả trở nên sống động:
Quá trình tích hợp liên tục là hai hành động đầu tiên trong sơ đồ chuyển trạng thái. mà - nếu thành công - sẽ khởi động đường ống phân phối liên tục thực hiện định nghĩa hoàn thành . Triển khai chỉ là một trong nhiều hành động sẽ phải được thực hiện liên tục trong đường ống này. Lý tưởng nhất là quy trình được tự động hóa từ điểm mà nhà phát triển cam kết với VCS đến điểm mà đường ống đã xác nhận rằng chúng tôi có một ứng cử viên phát hành hợp lệ.