chore: add maintenance workflow
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
# 维护手册
|
||||
|
||||
本项目长期维护时,目标是每次更新都能做到可检查、可部署、可回滚,并且不误改业务数据。
|
||||
|
||||
## 日常更新流程
|
||||
|
||||
1. 查看当前改动:
|
||||
|
||||
```bash
|
||||
git status --short
|
||||
```
|
||||
|
||||
2. 修改代码后先跑本地检查:
|
||||
|
||||
```bash
|
||||
make check
|
||||
make smoke
|
||||
```
|
||||
|
||||
3. 部署前记录业务数据哈希:
|
||||
|
||||
```bash
|
||||
make data-hash
|
||||
```
|
||||
|
||||
4. 构建、重启、健康检查和部署后哈希复核:
|
||||
|
||||
```bash
|
||||
make deploy
|
||||
```
|
||||
|
||||
5. 确认容器运行状态:
|
||||
|
||||
```bash
|
||||
make ps
|
||||
```
|
||||
|
||||
## 常用命令
|
||||
|
||||
- `make check`:检查前端 JS 语法和后端 Python 编译。
|
||||
- `make smoke`:运行轻量前端行为烟测,覆盖排序按钮、组内排序和纠错后排序。
|
||||
- `make data-hash`:输出 `classnotes.txt` 和 `学生课时账户.md` 的 SHA-256。
|
||||
- `make build`:构建 Docker 镜像。
|
||||
- `make up`:重启 Docker Compose 服务。
|
||||
- `make health`:带认证访问 `/api/health`。
|
||||
- `make deploy`:按推荐顺序执行检查、构建、重启、健康检查和哈希复核。
|
||||
- `make logs`:查看最近服务日志。
|
||||
|
||||
## 数据保护
|
||||
|
||||
业务数据文件位于:
|
||||
|
||||
```text
|
||||
/root/新时空数据/data/classnotes.txt
|
||||
/root/新时空数据/data/学生课时账户.md
|
||||
```
|
||||
|
||||
普通前端和查询类改动不应该改变这两个文件。部署前后 `make data-hash` 输出应一致;如果涉及登记 API 或数据写入功能,先确认自动备份目录:
|
||||
|
||||
```text
|
||||
/root/新时空数据/data/backups/
|
||||
```
|
||||
|
||||
恢复备份时先停止服务,把备份文件复制回数据目录,再重新启动服务。
|
||||
|
||||
## 回滚建议
|
||||
|
||||
如果部署后页面异常:
|
||||
|
||||
1. 查看容器和日志:
|
||||
|
||||
```bash
|
||||
make ps
|
||||
make logs
|
||||
```
|
||||
|
||||
2. 回到上一个可用 Git 版本后重新部署:
|
||||
|
||||
```bash
|
||||
git status --short
|
||||
git log --oneline -5
|
||||
```
|
||||
|
||||
3. 重新执行:
|
||||
|
||||
```bash
|
||||
make deploy
|
||||
```
|
||||
|
||||
如果业务数据哈希异常,先不要继续写入数据,优先从 `../data/backups/` 或外部备份恢复。
|
||||
|
||||
## 提交前检查清单
|
||||
|
||||
- `make check` 通过。
|
||||
- `make smoke` 通过。
|
||||
- 查询类或前端类改动部署前后业务数据哈希一致。
|
||||
- `make health` 正常返回 `ok: true`。
|
||||
- 重要功能改动已在 `README.md` 或本文件补充维护说明。
|
||||
Reference in New Issue
Block a user