Quy trình tự động hoá CI/CD cho nanoCart
Quy trình dưới đây mô tả luồng tự động hoá fork bởi AI từ bước khởi tạo mã nguồn, tích hợp, cho đến khi triển khai lên các môi trường demo và phát hành chính thức.

1. Khởi tạo & xây dựng lõi (Core Initialization)
- Fork: bắt đầu bằng việc fork mã nguồn từ dự án gốc (LiteCart).
- Convert: quá trình tự động hoá chuyển đổi (rebrand, restructure) các thành phần cần thiết qua
tools/convert-litecart.php— idempotent, có thể chạy lại khi upstream cập nhật. - Core: tạo ra lõi nền tảng nanoCart (core) sạch sẽ, không lệ thuộc upstream khi runtime.
2. Môi trường Live (Integration & Live Code)
Môi trường Live là nơi tích hợp lõi hệ thống với các tiện ích mở rộng và dữ liệu tuỳ chỉnh.
Thành phần tích hợp:
- Core — lõi nanoCart
- Registry — Plugin, Themes, gói ngôn ngữ Tiếng Việt (522 keys), Admin UI, Mobile Editor
- Database — Custom schema (cột
text_vi,VND...) + Seed data mẫu
Quản lý mã nguồn (Source Control): toàn bộ live code được lưu trữ, quản lý phiên bản và đồng bộ liên tục trên GitHub.
3. Triển khai Demo (Demo Deployment)
- Action: tự động đưa bản build từ Live ra public qua
tools/deploy-demo.php. - Flow: zip code + (optional) seed → POST lên
tools/demo-receiver.phptrên server → extract + init DB + clear cache. - Destination: triển khai trực tiếp lên tên miền dùng thử demo.fptmarket.com.
4. Phát hành chính thức (Release Management)
- Action: hệ thống tự động đóng gói các phiên bản phát hành qua
build/package.php. - Output: tạo ra public release node, tài liệu hướng dẫn (Document), và 3 gói cài đặt (Bundle):
nanocart-{ver}-shared.zip— shared hostingnanocart-{ver}-local-dev.zip— full source + xdebugnanocart-{ver}-portable-win.zip— kèm PHP + MariaDB portable
- Destination: toàn bộ thông tin và bản phát hành được đẩy lên website chính thức nanocart.fptmarket.com.
Sơ đồ luồng quy trình (text)
┌─────────────────┐
│ Fork: LiteCart │
└────────┬────────┘
│ Convert (rebrand)
▼
┌─────────────────┐
│ nanoCart Core │
└────────┬────────┘
│
▼
┌─────────────────────────────────┐
│ Môi trường Live │◄──► [GitHub: Live Code]
│ │ (đồng bộ)
│ ├─ Registry: Plugin/Theme/ │
│ │ VN Lang/Admin/Mobile Editor │
│ └─ Custom DB & Seed Data │
└────────┬───────────────┬────────┘
│ Public 'live' │ Đóng gói
▼ ▼
┌──────────────┐ ┌──────────────────────────┐
│ Demo: │ │ Release: │
│ demo. │ │ - Release Node │
│ fptmarket.com│ │ - Document │
└──────────────┘ │ - Bundle (3 packages) │
└────────┬─────────────────┘
│ Cập nhật
▼
┌────────────────────────┐
│ Website: │
│ nanocart.fptmarket.com │
└────────────────────────┘Vai trò AI trong quy trình
AI đóng vai trò co-pilot trong toàn bộ pipeline:
- 🤖 Phân tích & convert: đọc cấu trúc upstream, đề xuất rebrand/restructure tự động.
- 🤖 Sinh code & sửa lỗi: viết tools, plugins, theme; debug bug deploy real-time qua skill
/debug-demo. - 🤖 Sinh tài liệu: changelog, release notes, doc API tự cập nhật theo commit.
- 🤖 Quản trị shop: gợi ý mô tả sản phẩm, dịch tự động, phân tích đơn hàng (token độc lập của user).
- 🤖 Hỗ trợ deploy: skill
/deploy-demo,/deploy-site,/update-langchạy 1 lệnh.
Tham chiếu tools
| Bước | Tool | Skill |
|---|---|---|
| Convert upstream | tools/convert-litecart.php | — |
| Export seed | tools/export-seed.php | — |
| Export gói lang | tools/export-lang.php | /update-lang |
| Build packages | build/package.php | — |
| Deploy demo | tools/deploy-demo.php | /deploy-demo |
| Deploy PR site | tools/deploy-site.php | /deploy-site |
| Inode watcher | tools/inode-watcher.php | — |
Xem Cập nhật để theo dõi các bản phát hành.
