Files
Nexus/docs/project/local-integration-test.md
2026-07-08 22:31:31 +08:00

2.0 KiB
Raw Permalink Blame History

本地代码验证(Ubuntu / Linux

只做一件事:在本机确认代码能启动、单测通过、关键 HTTP 行为正确。
不做:生产部署清单、浏览器手测、Agent 全量 E2E。

环境:Ubuntu 原生 + DockerMySQL + Redis+ Python 3.12 + 项目根 .env


一键(推荐)

cd "$NEXUS_ROOT"   # 例:~/桌面/Nexus
bash scripts/local_verify.sh

顺序:启动 Docker MySQL/Redis → uvicorn → smoke → test_api.py → ruff。


分步

首次 — 依赖

bash scripts/ensure_venv.sh
python3 docker/generate_env.py    # 若无 docker/.env
python3 docker/sync_root_env.py   # 生成根 .env

启动

bash scripts/start-dev.sh

验证

bash scripts/local_integration_smoke.sh
.venv/bin/python tests/test_api.py
预期
tests/test_security_unit.py + retry 全部 passed
GET /health 200
GET /api/servers/ 401JWT
tests/test_api.py 26/26 passed

Docker 权限

docker 报 permission denied,脚本会自动 sg docker。或:

sudo usermod -aG docker "$USER"   # 重新登录后免 sg

Redis 检测:优先 redis-cli;未安装时用 docker exec nexus-redis-1 redis-cli ping(无需 apt 装 redis-tools)。


.env

bash scripts/start-dev.sh,浏览器打开 http://127.0.0.1:8600/app/install.html 完成向导,或:

NEXUS_TEST_ADMIN_PASSWORD='你的密码' python3 scripts/seed_local_admin.py

脚本索引

脚本 作用
scripts/start-dev.sh Docker mysql+redis + uvicorn
scripts/local_verify.sh 一键启动 + 全量本地验证
scripts/local_integration_smoke.sh smoke(不启动服务)
scripts/ensure_venv.sh 创建 .venv
scripts/check_mysql.py MySQL 连通与表检查

上线验收见 production-verification-checklist.md

路径 SSOTlinux-dev-paths.md