docs: enforce main-only release gate

This commit is contained in:
john
2026-07-01 23:35:55 +08:00
parent 4fc59729ee
commit 8260ff1e0e
5 changed files with 26 additions and 13 deletions
+6 -4
View File
@@ -52,15 +52,17 @@ git rebase origin/main
2. **禁止** SSH 登录 `105` 后直接修改业务源码(含 `scripts/wechat-mp-menu.mjs` 等);必须先本地 commit,再按发布流程上线。详见 [105 服务器变更规范](docs/105-server-operations.md)。
3. Portal 生产与测试统一走“本机构建 runtime artifact -> 打包发布”,**禁止**在 `103` 解源码包后 `npm install` / `npm run build`
4. Portal 唯一合法生产入口是 `bash scripts/release-portal-runtime-prod.sh`
5. 发布来源必须是可追溯 commit,不允许从不明工作区直接出包
6. 发布前必须有备份,发布后必须有健康检查和业务验收
7. 发布前必须通过统一闸门:
5. 发布只能从已验证的完整 `main` 打整包;分支代码必须先合并进 `main`,禁止从功能分支、单个 commit、单个修复或局部差异单包发布
6. 发布前必须确认 CI 已通过,且没有未合并的关键变更
7. 发布来源必须是可追溯 commit,不允许从不明工作区直接出包。
8. 发布前必须有备份,发布后必须有健康检查和业务验收。
9. 发布前必须通过统一闸门:
```bash
bash scripts/check-release-ready.sh
```
8. 分支落后 `origin/main`、工作区有未提交或未跟踪改动、处于 detached HEAD、或没有明确批准却从 `main` / `master` 发布,均禁止发版。
10. 分支落后 `origin/main`、工作区有未提交或未跟踪改动、处于 detached HEAD、或没有明确批准却从 `main` / `master` 发布,均禁止发版。
## 5. 文档约束