本地开发测试(前后端分离)

本地把前后端都跑起来、跑测试、手工验管理台的完整流程。开发环境 (工具与版本)见 development-environment.md;接口细节见 sign-server-api.md。

起后端(端口 3009)

前端代理写死 127.0.0.1:3009,后端必须在这个端口,否则前端调不通; 要换端口先改 server/web/next.config.js 的代理配置。

  1. 准备两个 600 权限的文件(放 /tmp,别进仓库):
  2. 种子文件:测试用,跑 sign-tool gen-keys 取 sign key 行(自己跑工具生成)。
  3. 管理员密码文件:自己定一个测试密码。
  4. 在仓根跑:

PORT=3009 SIGN_SERVER_DATA_DIR=/tmp/sign-data SIGN_SERVER_SIGNING_SEED_FILE=/tmp/seed-test.txt SIGN_SERVER_ADMIN_PASSWORD_FILE=/tmp/admin-test.txt cargo run --release -p sign-server

也可以先 cargo build --release -p sign-server 再直接跑 target/release/sign-server,环境变量一样。 3. 验:curl http://127.0.0.1:3009/health 应回 ok。

起前端(端口 3000)

cd server/web && npm install(第一次才要),然后 npm run dev (不要加 STATIC_EXPORT,那是静态导出用的)。 打开 http://127.0.0.1:3000/ 登录,登录成功自己进 /dashboard。

跑自动化测试

cargo test --workspace(sign-server 10 + sign-tool 库 22 + sign-tool 命令行 2,共 34 项)。 前端没有自动化测试脚本,靠下面手工验。

手工验管理台(预期结果)

调试要点