feat(release): add standard and fast 103 portal release modes

Formalize fast release as --mode fast so verified changes can skip canary promotion and full Gate reruns while keeping backups and health checks.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-08-15 08:03:44 +08:00
parent a9fe3d01a7
commit 835677a285
9 changed files with 222 additions and 76 deletions
+23 -4
View File
@@ -29,20 +29,39 @@ node --test db.test.mjs capabilities.test.mjs llm-providers.test.mjs wechat-mp.t
全绿之后才能进入打包发布,不要跳过。
## 2. 打包 + 发布(唯一入口)
## 2. 打包 + 发布
103 整包替换有两种模式(详见 `PRODUCTION_RELEASE_RULES.md`):
| 模式 | 命令 | 适用 |
|------|------|------|
| **标准发布** | `bash scripts/release-portal-runtime-prod.sh --yes` | 默认;须先灰度验收 + 晋升证据 + 完整 Gate |
| **快速发布** | `bash scripts/release-portal-fast-prod.sh --yes` | 变更已在本地/CI/Gate 充分验证,跳过灰度晋升与完整 Gate 重跑 |
先 dry-run 确认构建产物正常(不会碰生产):
```bash
bash scripts/release-portal-runtime-prod.sh --skip-tests --dry-run
bash scripts/release-portal-runtime-prod.sh --dry-run
# 或快速发布预演
bash scripts/release-portal-fast-prod.sh --dry-run
```
确认无误后正式发布(`--skip-tests` 是因为第 1 步已经手动跑过;这里不再重复跑脚本内置的窄范围测试):
**标准发布**须先完成 `bash scripts/release-portal-canary-prod.sh --yes` 与灰度验收。
**快速发布**在第 1 步测试全绿后可直接执行(仍会做 103 备份、goosed 预检、8081 健康检查):
```bash
bash scripts/release-portal-runtime-prod.sh --skip-tests --yes
bash scripts/release-portal-fast-prod.sh --yes
```
标准发布确认无误后:
```bash
bash scripts/release-portal-runtime-prod.sh --yes
```
标准发布禁止 `--skip-tests`。快速发布仅在 `--mode fast` 下允许 `--skip-tests`,且须已自行完成第 1 步验证。
这个脚本会自动完成:
1. 本机构建 `.runtime/portal`