AllianceProject Handbook
← Knowledge

Phát hành

Quy trình release và rollback

Các bước cắt bản, kiểm tra trước khi đẩy, mở rộng theo tỷ lệ và phương án xử lý khi bản mới có vấn đề.

Cập nhật 12/09/2026releaserủi ro

Trước khi cắt bản

  • Bộ test tự động xanh trên branch main
  • Ghi chú thay đổi đã viết, đọc được bởi người không làm kỹ thuật
  • Số hiệu phiên bản đã tăng đúng quy ước
  • Đã thử kịch bản nâng cấp từ phiên bản đang release, không chỉ cài mới
  • Các công tắc tính năng đặt đúng trạng thái mong muốn
  • Có người trực trong 24 giờ đầu sau khi mở rộng

Mở rộng theo tỷ lệ

Không đẩy 100% người dùng ngay. Trình tự đề xuất:

Giai đoạnTỷ lệChờ tối thiểuĐiều kiện đi tiếp
11%12 giờKhông tăng tỷ lệ crash
210%24 giờChỉ số ngang bằng bản cũ
350%24 giờKhông có báo cáo lỗi nghiêm trọng
4100%

Trong lúc mở rộng, nhìn vào tỷ lệ crashchỉ số của luồng nghiệp vụ chính. Đừng chỉ nhìn số lượt cài — con số đó không cho biết bản mới có hỏng hay không.

Khi bản mới có vấn đề

Thứ tự ưu tiên, từ nhanh nhất tới chậm nhất:

Một, tắt tính năng từ xa. Nếu vấn đề nằm trong phạm vi một công tắc, tắt là xong trong vài phút, không cần release lại.

Hai, dừng mở rộng. Giữ nguyên tỷ lệ hiện tại để không thêm người dùng bị ảnh hưởng, trong lúc tìm nguyên nhân.

Ba, release bản vá. Trên di động không rollback được bản đã cài, nên "rollback" thực chất là đẩy nhanh một bản sửa. Vì vậy phải luôn giữ branch main ở trạng thái có thể release bất cứ lúc nào.

Sau sự cố

Trong vòng một tuần, viết một ghi chép ngắn: chuyện gì xảy ra, phát hiện lúc nào bằng cách nào, vì sao các lớp kiểm tra hiện có không chặn được, và thay đổi nào sẽ chặn được lần sau.

Tập trung vào hệ thống, không vào cá nhân. Người ta sẽ chỉ báo lỗi sớm khi biết báo lỗi không dẫn tới bị quy trách nhiệm.