a1b0b2c514
- terminal.html: left sidebar (default open), right server panel with server list - servers.py: fix SSH key double-encryption in update_server, auth method switch cleanup - servers.html: auth switch clears opposite credentials (key↔password) - deploy/pre_deploy_check.sh: 3-gate pre-deploy check (changelog/audit/test) - mcp/Nexus_server.py: deploy() runs gate check before git pull+restart - docs/audit/: audit record template + today's audit results - CLAUDE.md: add gate enforcement rules and progress bar discipline Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
2026-05-26 — 部署程序门控实现
变更摘要
- Pre-deploy 门控脚本 —
deploy/pre_deploy_check.sh,部署前自动检查 3 道门:- Changelog门:
docs/changelog/YYYY-MM-DD-*.md必须存在 - 审计门:
docs/audit/YYYY-MM-DD-*.md必须存在 - 测试门:
tests/test_api.py必须全通过(无测试文件则跳过) - 任何一门不过 → 退出码1,部署被阻止
- Changelog门:
- MCP deploy 工具集成门控 —
mcp/Nexus_server.py的deploy()函数在 git pull + restart 前自动执行门控脚本,不过返回🚫 DEPLOY BLOCKED - 审计记录模板 —
docs/audit/TEMPLATE.md,标准化审计输出格式 - 今日审计记录 —
docs/audit/2026-05-26-terminal-sidebar-ssh-key-fix.md - CLAUDE.md 更新 — 加入门控说明
动机
之前部署全靠 AI 自觉执行流程,跳步无法被程序阻止。现在把关键步骤变成部署前置条件,跳步 = 部署不了。
涉及文件
| 文件 | 改动 |
|---|---|
deploy/pre_deploy_check.sh |
新建 — 3道门控检查脚本 |
mcp/Nexus_server.py |
deploy() 加入门控检查 |
docs/audit/TEMPLATE.md |
新建 — 审计记录模板 |
docs/audit/2026-05-26-*.md |
新建 — 今日审计记录 |
CLAUDE.md |
加入门控说明 |
是否需迁移/重启
- DB 迁移: 无
- 需重启: MCP server 需要重启(改动 Nexus_server.py),但 MCP server 是本地进程,下次会话自动生效
- 远程部署: 需要将
deploy/pre_deploy_check.sh同步到远程服务器
验证方式
bash -n deploy/pre_deploy_check.sh— Shell 语法通过 ✅python -c "import py_compile; py_compile.compile('mcp/Nexus_server.py', doraise=True)"— Python 语法通过 ✅- 删除
docs/changelog/2026-05-26-*.md→ 执行门控脚本 → Changelog门 BLOCK ✅ - 恢复 changelog → 执行门控脚本 → 3/3 gates passed ✅