2.0 KiB
2.0 KiB
本地代码验证(Ubuntu / Linux)
只做一件事:在本机确认代码能启动、单测通过、关键 HTTP 行为正确。
不做:生产部署清单、浏览器手测、Agent 全量 E2E。
环境:Ubuntu 原生 + Docker(MySQL + 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/ |
401(JWT) |
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。
路径 SSOT:linux-dev-paths.md