Files
railwaysystem/docs/codebase-audit/07_runtime_and_environment.md

4.6 KiB
Raw Permalink Blame History

启动方式与运行环境

本次只整理配置和现有脚本,没有启动 Redis、后端、前端或数据库,没有执行 Maven/npm 构建。

1. 后端启动

现有方式

  • Spring Boot 入口:RuoYi-Vue/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java。
  • Maven 父工程:RuoYi-Vue/pom.xml;可按 Maven 多模块方式构建 ruoyi-admin,但本次没有执行,因为会产生/更新 target。
  • 当前工作树已有 RuoYi-Vue/ruoyi-admin/target/ruoyi-admin.jar。
  • 未跟踪脚本 start-local.sh 会用以下方式启动现有 JAR:
java --add-opens ... -jar RuoYi-Vue/ruoyi-admin/target/ruoyi-admin.jar

脚本将日志写到 RuoYi-Vue/ruoyi-admin/backend.log,并检查 http://localhost:8090/captchaImage。

默认端口与上下文

  • 后端 HTTP 端口:8090。
  • context path:/。
  • 配置文件:RuoYi-Vue/ruoyi-admin/src/main/resources/application.yml。

2. 前端启动

当前培训前端目录:build_ui/。

build_ui/package.json 定义:

npm run dev         # vue-cli-service serve
npm run build:prod  # 生产构建
npm run build:stage # staging 构建
npm run lint        # ESLint;配置含 --fix,会修改文件,本次未执行

当前 build_ui/node_modules/.bin/vue-cli-service 存在。build_ui/vue.config.js 当前开发端口为 8080,代理 /dev-api 到 http://localhost:8090 并移除前缀。

start-local.sh 会先探测 8080;若未启动则在 build_ui 执行 npm run dev。该脚本会启动服务、创建目录并写日志,因此本次没有执行。

3. 数据库连接

项目 当前配置
配置文件 RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml
数据库 KingbaseES
驱动 com.kingbase8.Driver / Maven com.kingbase:kingbase8:8.6.0
数据库与 schema training / public
连接池 Druid
校验 SQL SELECT 1 FROM DUAL

主机、端口、用户名和口令直接写在配置文件中,没有通过环境变量注入;本报告不复述凭据。文件中还保留多组已注释的 MySQL/Kingbase历史连接信息。

4. Redis 要求

  • 配置文件:application.yml。
  • 当前地址:localhost:6379,database 0,无密码配置。
  • 本机检测到 /opt/homebrew/bin/redis-server。
  • Redis 用于 token 会话、登录状态续期、验证码缓存、密码错误计数、系统缓存和在线用户,因此正常登录链路需要 Redis。
  • start-local.sh 会通过 redis-cli ping 探测并在需要时以 daemon 方式启动 Redis;本次未执行。

5. Profile 与环境文件

后端

  • spring.profiles.active: druid。
  • 存在 application.yml 与 application-druid.yml。
  • 未发现独立的 application-dev.yml、application-test.yml、application-prod.yml。
  • application-druid.yml 内通过注释区分开发/生产连接,并非可切换的 Spring profile。

前端

模式 文件 API 前缀
development build_ui/.env.development /dev-api
staging build_ui/.env.staging /stage-api
production build_ui/.env.production /prod-api

开发代理只对当前 VUE_APP_BASE_API 生效;生产/测试部署需要由外部 Web 服务器或网关将相应前缀转发到后端,仓库中未见完整部署配置。

6. 环境变量

  • 后端 datasource、Redis、JWT secret 等均来自 YAML 固定值;未发现必须由操作系统提供的业务环境变量。
  • 前端通过 .env.* 注入 VUE_APP_TITLE、VUE_APP_BASE_API、ENV,开发模式还设置 VUE_CLI_BABEL_TRANSPILE_MODULES。
  • vue.config.js 可通过 port 或 npm_config_port 覆盖前端端口。

7. 当前机器工具链

工具 当前机器版本 项目目标/声明 说明
Java OpenJDK 21.0.2 POM target/source 1.8 版本跨度较大;现有脚本加了若干 --add-opens
Maven 3.9.2 未单独锁定 wrapper 来自 IntelliJ 内置 Maven 路径
Node 22.23.2 >=8.9 vue.config.js 有未提交 MD4 兼容补丁
npm 10.9.8 >=3.0.0 依赖目录存在,本次未安装/更新
Redis Server Homebrew 路径存在 localhost:6379 本次未探测运行状态

8. 当前启动可验证程度

仓库内有后端 JAR和前端依赖,但不能据此确认它们与当前未提交源码一致。尤其当前源码有 Controller 路径、前端 API、端口和配置改动;现有 JAR可能早于这些修改。

本次未执行启动、健康检查、登录、API 调用或数据库查询,所以运行状态标记为“未验证”。