ci: add rollback-aware production smoke checks
CI / test (pull_request) Successful in 3m27s

This commit is contained in:
2026-08-09 00:10:35 +08:00
parent 2f90c82d54
commit 7c9e0303b9
5 changed files with 141 additions and 27 deletions
+17 -5
View File
@@ -477,16 +477,28 @@ chmod 600 /root/.ssh/authorized_keys
确保有能匹配 `ubuntu-latest` 的在线 Runner。
PR 合并到 `main` 后,workflow 会:
如果 Runner 和生产环境在同一 Docker 宿主机,且公网 IP 不支持 NAT 回环,
`DEPLOY_HOST` 可使用 Docker 网桥宿主机地址 `172.17.0.1`
先在 Gitea 保护 `main` 分支,禁止直接推送,并要求 `CI / test` 通过后才能合并。
PR 阶段会执行:
```text
SQLite 快速测试
启动 MySQL 8.0.35 临时容器
→ MySQL 全量迁移和测试
Ruff 静态检查
SQLite 测试和 75% 覆盖率门槛
→ MySQL 8.0.35 全量迁移和测试
```
PR 合并到 `main` 后会执行:
```text
MySQL 8.0.35 发布迁移检查
→ SSH 生产服务器
→ MySQL 备份
→ migrate
→ 重启和健康检查
→ 重启
→ 应用与 Nginx HTTP/WebSocket 冒烟检查
```
## 16. 备份与恢复