Lộ trình 04Bài học 9 / 10

Quyết định phát hành bằng bằng chứng

Kiểm tra phiên bản, đích, rủi ro còn lại và cách khôi phục. Tách merge, triển khai và mở tính năng cho người dùng khi hệ thống yêu cầu.

Thực hành9 minĐã review

Xuất bản bởi Cách chúng tôi viết

Kiểm tra mức hiểuNgười review phê duyệt commit A, nhưng quá trình triển khai build commit B có thêm thay đổi phân quyền. Cần làm gì?Làm bài tập
Người review phê duyệt commit A, nhưng quá trình triển khai build commit B có thêm thay đổi phân quyền. Cần làm gì?

Bạn sẽ học gì

  • Xác định quyết định phát hành phải gắn với những gì.
  • Phân biệt merge, triển khai và mở tính năng cho người dùng.
  • Xác định điều kiện dừng hoặc đảo ngược phát hành.

Nêu quyết định chính xác

Pipeline xanh là bằng chứng từ một tập kiểm tra. Nó không mô tả đầy đủ quyết định phát hành. Người phụ trách cần biết điều gì sẽ thay đổi, thay đổi ở đâu và hậu quả nào còn lại.

Với tính năng xuất dữ liệu khách hàng giả định, xác định commit được chấp nhận và artifact tạo từ nó. Nêu môi trường đích. Liên kết test, review liên quan và mọi ngoại lệ đã phê duyệt. Bao gồm thay đổi dữ liệu hoặc hạ tầng đi cùng ứng dụng.

SSDF của NIST cung cấp thực hành phát triển an toàn, còn provenance của SLSA giúp mô tả artifact được tạo thế nào. Cả hai đều không loại bỏ quyết định xem bản phát hành này có phù hợp với dịch vụ này không. NIST SSDF, SLSA provenance.

Phân biệt ba sự kiện

Merge đưa thay đổi mã nguồn vào branch. Triển khai đưa artifact vào môi trường. Mở tính năng cho phép người dùng tiếp cận hành vi đó. Các sự kiện có thể trùng thời điểm, nhưng không nhất thiết là cùng một sự kiện.

Dịch vụ có thể triển khai tính năng chưa kích hoạt và mở cho người dùng sau. Migration cơ sở dữ liệu có thể ảnh hưởng production trước khi tính năng xuất hiện. Xác định trình tự thực tế thay vì mặc định merge PR mô tả mọi hậu quả.

Với tính năng xuất, feature flag có thể giới hạn phạm vi mở ban đầu. Nó không tự bảo vệ endpoint mới hoặc đảo ngược migration schema. Xác minh biện pháp kiểm soát tại nơi hậu quả xảy ra.

Review hồ sơ bằng chứng ngắn gọn

Dùng hồ sơ mà người chịu trách nhiệm khác có thể kiểm tra:

  • Mục đích và người dùng bị ảnh hưởng.
  • Định danh commit và artifact.
  • Kiểm tra hành vi, bảo mật và tương thích liên quan.
  • Môi trường đích và danh tính thực thi.
  • Ngoại lệ còn lại cùng người phụ trách và điều kiện hết hiệu lực.
  • Giám sát, phương pháp khôi phục và người phụ trách ứng phó.

Giữ nhận định cụ thể. “Test đạt” yếu hơn liên kết đến kết quả cho commit phát hành với mô tả phạm vi bao phủ rõ ràng. “Có rollback” yếu hơn quy trình đã kiểm thử với giới hạn được nêu.

Quyết định cách dừng

Xác định điều kiện phát hành trước khi thực thi. Với tính năng xuất giả định, dừng nếu truy cập chéo tổ chức thành công, artifact khác digest được chấp nhận hoặc không có khả năng khôi phục. Đây là điều kiện minh họa, không phải checklist chung cho mọi nơi.

Sau triển khai, kiểm tra tín hiệu quan trọng với người dùng. So sánh hành vi lỗi và thời gian phản hồi với mục tiêu đã chấp nhận của dịch vụ. Process hoạt động tốt không chứng minh quy trình người dùng hoạt động.

Nếu điều kiện không đạt, dùng phản ứng đã thống nhất. Có thể tắt tính năng đối với người dùng, rollback mã tương thích hoặc khôi phục dữ liệu. Chọn hành động giải quyết lỗi mà không tạo lỗi lớn hơn.

Giữ lại quyết định sau phát hành

Ghi artifact thực sự được triển khai và kết quả. Nếu thực thi khác kế hoạch, làm rõ khác biệt. Đưa sự cố và công việc ngoài dự kiến vào thiết kế lần phát hành tiếp theo.

Hệ thống bàn giao tự động nên giúp kiểm tra hồ sơ này dễ hơn. Nó không nên buộc người review dựng lại lần phát hành từ các cuộc chat, log và ảnh chụp rời rạc. Bằng chứng rõ ràng giúp nhóm tự động hóa việc thường xuyên mà vẫn giữ trách nhiệm cho quyết định.

Làm bài tập

Chuẩn bị ghi chú phát hành giả định cho tính năng xuất dữ liệu khách hàng. Bao gồm commit, digest artifact, môi trường, kiểm tra phân quyền, tác động migration, người phụ trách giám sát và điều kiện kích hoạt khôi phục. Nêu một điều kiện dừng phát hành dù unit test đạt.

Tải worksheet (Markdown)
Kiểm tra mức hiểu ↑

Tiếp tục học

Nguồn và đọc thêm

Đọc thêm liên quan từ Taiga

← Bài trước: Điều phối phát triển bằng AI giữa các nhóm