Files
Nexus/docs/changelog/2026-05-26-pre-deploy-gates.md
T
Your Name a1b0b2c514 feat: Terminal sidebar+panel, SSH key fix, auth cleanup, pre-deploy gates
- 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>
2026-05-26 09:16:05 +08:00

1.9 KiB

2026-05-26 — 部署程序门控实现

变更摘要

  1. 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,部署被阻止
  2. MCP deploy 工具集成门控mcp/Nexus_server.pydeploy() 函数在 git pull + restart 前自动执行门控脚本,不过返回 🚫 DEPLOY BLOCKED
  3. 审计记录模板docs/audit/TEMPLATE.md,标准化审计输出格式
  4. 今日审计记录docs/audit/2026-05-26-terminal-sidebar-ssh-key-fix.md
  5. 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 同步到远程服务器

验证方式

  1. bash -n deploy/pre_deploy_check.sh — Shell 语法通过
  2. python -c "import py_compile; py_compile.compile('mcp/Nexus_server.py', doraise=True)" — Python 语法通过
  3. 删除 docs/changelog/2026-05-26-*.md → 执行门控脚本 → Changelog门 BLOCK
  4. 恢复 changelog → 执行门控脚本 → 3/3 gates passed