Clone
4
Task-14-增加-Windows-本地开发启动脚本
ila edited this page 2026-08-21 10:56:20 +08:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

14 增加 Windows 本地开发启动脚本

  • 类型:需求 / 开发工具
  • 所属 Epic:#3
  • 所属 MVP / 版本:#4(MVP-0)
  • 状态:已完成
  • 日期:2026-08-21
  • 验收:用户于 2026-08-21 明确确认通过
  • Gitea 工单:#14
  • Wiki 页面:Task-14-增加-Windows-本地开发启动脚本

背景与目标

为 Windows 本地开发提供单一 BAT 入口,可靠管理 portal 和 mock provider,使用仓库外的本机 MySQL 8 环境配置,并确保启动过程不会隐式执行迁移、AutoMigrate、seed 或创建账号。

最终方案

  • scripts/chorus-dev.bat 选择可用的 PowerShell;scripts/chorus-dev.ps1 负责参数校验、构建、进程管理和健康检查。
  • 支持 start、stop、restart、status、start-mock;普通启动只管理 portal,mock 可独立运行。
  • 默认读取仓库外 D:\OPC\chorus-tools\chorus-test.env.ps1,也支持传入带空格的可信环境文件路径。
  • 启动前检查 Go、本地 MySQL TCP、监听地址和端口;构建临时 EXE 后后台启动,并通过 /login 检查 portal。
  • PID、日志和临时二进制位于 %LOCALAPPDATA%\Chorus\dev;停止前核对 PID 与可执行文件绝对路径。
  • 长期文档先更新 Wiki,再同步 docs/00-project-profile.md 和 docs/04-local-development-and-verification.md。

修改文件

  • scripts/chorus-dev.bat:Windows 命令行入口。
  • scripts/chorus-dev.ps1:环境检查、构建、启动、停止、状态和日志管理。
  • docs/00-project-profile.md:同步启动命令和目录职责。
  • docs/04-local-development-and-verification.md:同步完整的本地启动与停止说明。

验收结果

验收标准 结果
五个命令可从 cmd/PowerShell 调用 通过
默认环境和带空格的覆盖环境路径可用 通过
重复启动受保护,restart 只重启 portal 通过
MySQL、端口和缺失环境错误可定位 通过
portal /login 健康检查与日志输出有效 通过
不执行迁移、AutoMigrate、seed,不输出 DSN 通过
Wiki、核心镜像和 Harness 检查一致 通过

测试

  • go test ./... -count=1:通过。
  • python dev_scripts/harness.py check --strict:通过。
  • python -m unittest discover -s tests -v:42 项通过。
  • python dev_scripts/harness.py sync --check:通过。
  • git diff --check:通过。
  • 实机验证:默认启动、重复启动、状态、停止、带空格环境路径、独立 mock、restart、缺失环境、端口占用及从其他工作目录调用均符合预期。
  • 未验证部分:未连接真实上游或生产环境;未执行破坏性的伪造 PID 对抗测试,停止路径匹配保护已通过代码检查和正常流程验证。

遗留问题

  • 本机 18080 端口由无关进程占用;脚本已正确拒绝在该端口启动 mock,未终止该进程。

相关提交

  • d9358b3 feat: 增加 Windows 本地开发启动脚本 (#14)
  • babfbb1 docs: 记录 Windows 启动脚本流程 (#14)