Làm thế nào để thực hiện bước thủ công khi kết thúc giao hàng liên tục?


13

Câu trả lời được chấp nhận cho câu hỏi của tôi về " Tích hợp liên tục liên quan đến phân phối / triển khai liên tục như thế nào? " Cũng giải thích sự khác biệt nhỏ giữa phân phối liên tụctriển khai liên tục . Nó dường như có liên quan đến câu trả lời cho một câu hỏi như "Bạn muốn triển khai sản xuất như thế nào, trong khi đây là các tùy chọn (độc quyền) để chọn:

  • Tự động).
  • Hướng dẫn sử dụng.

Tôi không thể tưởng tượng rằng sẽ có một "người vận hành" nghèo ở phía bên kia của bức tường DevOps, người sẽ phải làm một cái gì đó tương ứng với bất cứ điều gì "thủ công" có nghĩa là ... Câu hỏi của tôi:

  • Là tài liệu tham khảo của tôi (trong câu hỏi của tôi) để "phân phối" so với "cài đặt" gần với việc triển khai có thể thực hiện "thủ công" như vậy? Đây là một trích dẫn có liên quan của câu hỏi liên quan của tôi:
  • phân phối đến một số môi trường đích, sử dụng một cái gì đó như FTP (nếu các bản sao tiêu chuẩn không thể thu hẹp khoảng cách), nhưng chưa kích hoạt nó trong mục tiêu. Đó là những gì nên tương tự / gần với giao hàng liên tục , hay không?
  • cài đặt (hoặc kích hoạt ) trong một số môi trường đích, kết hợp với những thứ như liên kết, dừng / bắt đầu hoạt động, v.v ... Đó có phải là điều tương tự / gần với việc triển khai liên tục hay không?
  • Những triển khai có thể khác của nó là gì?

Để triển khai AWS, tôi đã tạo một tập lệnh tải lên / triển khai mà chỉ người quản lý nhóm mới có quyền truy cập. Vì vậy, để triển khai để sản xuất, người quản lý nhóm cần chạy tập lệnh.
Rùa

Xin lỗi để phá vỡ giấc mơ của bạn, nhưng chúng tôi vẫn có một nhóm êdeploy ', mà Oek sẽ tung ra các bản cập nhật DB trên Db2-iSeries với ARCAD sau đó là đầu bếp trên các máy chủ Tomcart để triển khai các phiên bản sản xuất vào mỗi thứ Năm từ 8 giờ tối đến nửa đêm. Vì vậy, thật đáng buồn, đôi khi có một nhà điều hành kém (hy vọng đó không phải là công việc duy nhất của họ)
Tensibai

Câu trả lời:


5

Cá nhân tôi coi distributionphần mềm là mục tiêu chỉ là bước trung gian của việc triển khai - cài đặt / kích hoạt phần mềm đó là cần thiết để hoàn thành việc triển khai đó.

Đối với tôi, delivery(như trong continuos delivery) dừng khi phần mềm được triển khai được tạo và sẵn sàng để triển khai (nghĩa là để phân phối, cài đặt và kích hoạt)

Vì vậy, để trả lời câu hỏi đầu tiên của bạn, không, tôi sẽ không xem xét phân phối và cài đặt như phản ánh bước thủ công phân biệt phân phối liên tục với triển khai liên tục.

Có, trong một số trường hợp (hy vọng là hiếm), bước thủ công chỉ là quyết định cuối cùng của con người khi triển khai vào sản xuất, phản ánh sự không tin tưởng về văn hóa trong quá trình tự động hóa và sự thoải mái về mặt tinh thần khi kiểm tra hai lần và ký quyết định triển khai (do đó, giả sử khả năng đáp ứng cho nó) ngay cả khi quyết định đó hoàn toàn được thực hiện dựa trên thuật toán có thể được tự động hóa (như đếm kết quả kiểm tra đạt / không đạt).

Nhưng nói chung, nó chỉ đơn giản phản ánh thực tế rằng quyết định thực hiện triển khai trong sản xuất không chỉ đơn giản là kết quả của một thuật toán tự động. Dưới đây sẽ là một số ví dụ như trường hợp:

  • quyết định tự động được ghi đè
    • triển khai có thể được ký tắt ngay cả khi không phải tất cả các tiêu chí chất lượng đều được đáp ứng (tất cả chúng ta đều biết rằng đây không chỉ là một trường hợp lý thuyết)
    • việc triển khai được tổ chức vì bất kỳ lý do gì, ngay cả khi tất cả các tiêu chí được đáp ứng (ví dụ do tác động của thời gian thị trường)
  • thuật toán tự động chưa (chưa) triển khai / triển khai
  • thuật toán bao gồm kiểm tra một số tiêu chí tùy thuộc vào quyết định của con người (giả sử kết quả từ kiểm tra thủ công)
  • triển khai thực sự được thực hiện trong môi trường khách hàng bên thứ 3, sau khi kiểm tra thêm khách hàng

Vì vậy, tôi sẽ không xem bước thủ công chỉ đơn giản là một vấn đề thực hiện.


Merci (oeps: cảm ơn bạn) đã chia sẻ quan điểm của bạn về điều này. Có vẻ như chúng ta có một nhận thức khác về "phân phối". Vì vậy, hãy để tôi thêm 1 kịch bản: bạn có một cửa sổ 1 giờ, cho một hệ thống ngân hàng trực tuyến, vào sáng sớm Chủ nhật, để "kích hoạt" 150.000 thực thi được cập nhật. Và nếu vì bất kỳ lý do gì cần phải quay lại, thì không thể có sự phân cực nào có thể mở rộng cửa sổ đó. Bạn có thực sự muốn lãng phí thời gian của mình cho việc "phân phối", thay vì sử dụng thời gian cần thiết cho việc đó "chỉ trong trường hợp cần quay lại? Hãy suy nghĩ hai lần: nếu mất nhiều thời gian hơn 1 giờ .. bạn sẽ bị sa thải ... Vâng ???
Pierre.Vriens

Đó là IMHO chỉ là một chi tiết tối ưu hóa hoặc triển khai của chính việc triển khai, áp dụng trong trường hợp của bạn, nhưng điều đó không làm cho nó trở thành một quy tắc). Chỉ vì bạn đang thực hiện một phần triển khai của mình trước khi thực sự tắt thực thi sw cũ không có nghĩa là công việc tương ứng là một phần của giai đoạn phân phối. Điều đó cũng không nhất thiết có nghĩa là một khi bạn bắt đầu triển khai, bạn cũng cần hoàn thành nó. Sw được phân phối hiệu quả (nghĩa là có sẵn / sẵn sàng để triển khai) ngay cả khi bạn không thực sự triển khai.
Dan Cornilescu

2

Một xem xét bổ sung nếu bạn đang xuất bản một cái gì đó mà bạn đang mong đợi các dự án khác sẽ tiêu thụ, việc triển khai cũng mang ý nghĩa "xuất bản cho người khác sử dụng"

Hãy xem xét một quy trình làm việc trong đó bạn triển khai một thư viện đến một kho lưu trữ tạo tác chung. Phần này của quá trình có thể là một phần của việc bạn triển khai một thành phần khác yêu cầu tạo tác đó vào thời gian xây dựng hoặc nó có thể chỉ đơn giản là một bản cập nhật cho một thư viện chung. Nhưng bất kể, đối với vật phẩm đó, vòng đời của nó không nhất thiết phải kết thúc bằng việc được người khác sử dụng, nhưng việc triển khai vật phẩm đó vào kho lưu trữ tạo tác có thể là giai đoạn cuối cùng trong các nhà phát triển làm việc sau khi họ quyết định cắt giảm phiên bản phát hành mới và trước khi những người khác có thể tiêu thụ phiên bản mới một cách an toàn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.