Files
pos-system/microservices/docs/vi/runbooks/rollback-procedure.md
Ho Ngoc Hai 76d75c753b Migrate
2026-05-23 18:37:02 +07:00

72 lines
1.5 KiB
Markdown

# 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 <previous-commit>
```
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