# Quy Trình Rollback ## Khi Nào Cần Rollback - Service ngừng hoạt động hoặc không ổn định - Lỗi nghiêm trọng được phát hiện - Hiệu suất suy giảm - Rủi ro hỏng dữ liệu ## Các Bước Rollback ### Rollback Kubernetes 1. **Xác định phiên bản hiện tại** ```bash kubectl get deployment iam-service -n production -o jsonpath='{.spec.template.spec.containers[0].image}' ``` 2. **Rollback về phiên bản trước** ```bash kubectl rollout undo deployment/iam-service -n production ``` 3. **Xác minh rollback** ```bash kubectl rollout status deployment/iam-service -n production ``` 4. **Kiểm tra health của service** ```bash curl https://api.goodgo.vn/health ``` ### Rollback Database Migration **Lưu ý**: Prisma không hỗ trợ rollback tự động. Tạo migration mới để đảo ngược thay đổi. 1. Tạo migration đảo ngược: ```bash cd services/iam-service pnpm prisma migrate dev --name rollback_previous_change ``` 2. Áp dụng migration đảo ngược: ```bash pnpm prisma migrate deploy ``` ### Rollback Docker Compose 1. Dừng các container hiện tại: ```bash docker-compose down ``` 2. Checkout phiên bản trước: ```bash git checkout ``` 3. Rebuild và khởi động: ```bash docker-compose up -d --build ``` ## Sau Khi Rollback 1. Xác minh chức năng 2. Theo dõi metrics 3. Ghi lại lý do rollback 4. Lập kế hoạch sửa lỗi cho deployment tiếp theo