Quản lý phát hành
Giới thiệu
Quản lý phát hành định nghĩa quy trình đưa ứng dụng từ development đến production theo cách có thể lặp lại, kiểm chứng và khôi phục. Hoàn tất thay đổi ở development, kiểm tra ở staging, rồi mới phát hành lên production. Cần lưu file migration, bản backup, log thực thi và kết quả kiểm tra.
Mô hình phát hành
Cấu hình môi trường
Kết nối database, địa chỉ dịch vụ bên thứ ba, tài khoản test, token, API Key và Webhook không nên hardcode trong page, workflow hoặc cấu hình plugin. Hãy dùng biến và secret riêng cho từng môi trường.
Tài liệu liên quan: Biến và Secret.
Giai đoạn phát triển
Tạo phiên bản trước và sau các thay đổi lớn về data model, page, permission, workflow hoặc plugin. Khi phát hành giữa các môi trường, dùng Migration Manager. Khi cần khôi phục production, dùng Backup Manager.
Tài liệu liên quan: Quản lý phiên bản.
Tách module
Hệ thống nhỏ có thể bắt đầu bằng một app. Khi phức tạp hơn, hãy tách CRM, ticket, tài sản, HR, báo cáo hoặc backend vận hành thành app độc lập. Cần quy hoạch user, tổ chức, xác thực, permission và dữ liệu dùng chung trước.
Tài liệu liên quan: Quản lý multi-app.
Chuẩn bị
Trước khi phát hành production, tạo backup. Với phát hành quan trọng, kiểm tra restore ở môi trường độc lập. Backup cần bao gồm database, file upload và storage cần thiết để ứng dụng chạy.
Tài liệu liên quan: Quản lý sao lưu.
Thực thi phát hành
Phát hành lên staging trước. Sau khi kiểm tra đạt, dùng cùng file migration cho production.



Khi phát hành production, đặt maintenance window, thông báo người dùng và tránh ghi dữ liệu mới. Với multi-node, scale down về một node trước khi migration. Sau đó kiểm tra luồng chính và mở lại truy cập.
Quy tắc migration
Chiến lược phổ biến gồm ghi đè, chỉ cấu trúc và bỏ qua. Bảng tích hợp thường dùng chiến lược mặc định. Bảng dữ liệu nghiệp vụ do người dùng tạo thường chỉ migration cấu trúc. Bảng metadata có thể ghi đè tùy bối cảnh.
Xem: Bảng tích hợp của ứng dụng và plugin chính.
Tài liệu liên quan: Quản lý Migration.
Rollback và khôi phục
Nếu phát hành thất bại, ưu tiên dùng backup trước phát hành. Nếu môi trường hiện tại còn ổn định, restore tại đó. Nếu không, restore ở môi trường độc lập, kiểm tra luồng chính rồi chuyển traffic.

