Phân chia môi trường
Phần mềm có hai bản chạy song song:
- Bản thử — để nhà trường xem trước và góp ý
- Bản chính thức — bản cán bộ dùng thật hằng ngày
Mọi thay đổi đều cho chạy ở bản thử trước. Nhà trường xem và duyệt xong mới đưa lên bản chính thức. Nguyên tắc này để người dùng không bao giờ gặp tính năng nửa vời trong lúc đang làm việc.
Ngoài hai bản trên, đội phát triển còn một bản chạy trên máy cá nhân khi lập trình.
:::note Phần còn lại của trang này là nội dung kỹ thuật Cán bộ nhà trường chỉ cần đọc tới đây. Phần dưới dành cho đội phát triển và người quản trị máy chủ. :::
Bảng môi trường
| Môi trường | Tên miền | Mục đích | Ai truy cập |
|---|---|---|---|
| dev | localhost | Phát triển trên máy cá nhân | Lập trình viên |
| staging | stg.sotaylop.com | Nghiệm thu nội bộ, UAT trước khi phát hành | Đội dự án, người nghiệm thu |
| production | sotaylop.com | Bản chạy thật cho pilot | Người dùng cuối tại trường |
Đường dẫn
| dev | staging | production | |
|---|---|---|---|
| Ứng dụng | http://localhost:5173 | https://stg.sotaylop.com | https://sotaylop.com |
| Tài liệu | http://localhost:3000 | https://stg.sotaylop.com/docs/ | https://sotaylop.com/docs/ |
Tài liệu nằm ở đường dẫn con /docs/ để root domain dành cho bản demo ứng dụng.
Hạ tầng
Cả staging và production chạy trên cùng một VPS (180.93.43.225), tách nhau bằng nginx server block và cổng nội bộ riêng. Máy này đang chạy sẵn vài dịch vụ khác, nên mỗi dịch vụ mới phải chọn cổng chưa dùng.
| Cổng | Đang dùng bởi |
|---|---|
| 3003 | Habits tracker (sotaylop.com hiện tại) |
| 3100 / 3101 | hoc-tieng-han blue / green |
| 3102 | hoc-tieng-han staging |
:::warning Tên miền chính đang bận
sotaylop.com hiện trỏ về ứng dụng Habits tracker (habits.service, cổng 3003). Trước khi dùng tên miền này cho production của ADang, phải xử lý ứng dụng đó — chuyển sang tên miền khác hoặc gỡ bỏ. Đây là quyết định cần xác nhận vì ứng dụng đang chạy thật.
:::
Quy trình phát hành
dev (máy cá nhân)
└─ push nhánh → PR
└─ merge vào main
└─ deploy staging → nghiệm thu tại stg.sotaylop.com
└─ duyệt → deploy production
Deploy tài liệu
npm --prefix docs-site run deploy:staging
npm --prefix docs-site run deploy:production
Xem chi tiết cấu hình máy chủ tại Hướng dẫn cài đặt & vận hành.
Biến môi trường của tài liệu
Docusaurus chọn cấu hình theo biến DOCS_ENV (dev · staging · production), khai báo trong docs-site/docusaurus.config.js. Bản staging hiển thị banner cảnh báo để không nhầm với bản chính thức.