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 đề.
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ạn | Tỷ lệ | Chờ tối thiểu | Điều kiện đi tiếp |
|---|---|---|---|
| 1 | 1% | 12 giờ | Không tăng tỷ lệ crash |
| 2 | 10% | 24 giờ | Chỉ số ngang bằng bản cũ |
| 3 | 50% | 24 giờ | Không có báo cáo lỗi nghiêm trọng |
| 4 | 100% | — | — |
Trong lúc mở rộng, nhìn vào tỷ lệ crash và chỉ 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.

