Files
starRiverProperty/maven-cw-elevator-application/deploy/README.md
T
反编译工作区 418c7db202 feat(elevator): 对齐 V1 lib 的 Davinci/扫描/事件与部署配置
- davinci-manager-storage:FilePart 路径与基址按 V1 JAR(/portal/file、/part/*、GET /download)
- 启动类:扫描 cn.cloudwalk.serial 与 cn.cloudwalk.cwos.client.resource,补 UUIDSerial 与 ApplicationService
- deploy:v1/v2 application 中 cloudwalk.serial.enabled、Kafka 指向 192.168.3.12:9092;deploy/.gitignore 忽略日志
- cloudwalk-common-serial:补充 META-INF/spring.factories(Boot 自动配置)
- 电梯:Session 配置、Davinci Bean、Feign 包、MQTT/Visitor/Zone Feign;部署脚本与 API parity 工具更新
- 文档与根脚本若干;未纳入大体积 jar/zip 与 v1 CFR 对比目录

Made-with: Cursor

Former-commit-id: b76d142d13ebb5c0898de2d9d11bc583876829c2
2026-04-28 01:02:31 +08:00

4.8 KiB
Raw Blame History

电梯应用双版本同路径部署

每个发行目录内 JARapplication.propertiesbootstrap.propertiesConsul)与 redis-override.properties 位于同一目录run.sh 使用:

--spring.config.location=file:./application.properties,file:./redis-override.properties

(说明见下文:Boot 1.5 下 jar 内 classpath:/application.properties 往往最后生效,仅靠外置文件盖不住密码。)

目录

目录 JAR 端口(见配置首行)
v1-legacy/ cw-elevator-application-V1.0.0.20211103.jar 18080
v2-maven/ cw-elevator-application-2.0.0.jar 18081

属性文件由历史包 cw-elevator-application-V1.0.0.20211103/application.properties 复制而来,仅在各自文件头部增加了 注释server.port,便于双实例并行(对拍 / API 套件)。

一次性同步 JAR

deploy/ 下执行(需已存在 V1 原始 JAR;V2 优先用 releases/v2.0.0/,否则用 cw-elevator-application-starter/target/):

./sync-jars.sh

启动(两个终端)

cd v1-legacy && ./run.sh
cd v2-maven && ./run.sh

探活示例:curl -s http://127.0.0.1:18080/actuator/health18081

Consul192.168.3.12 Docker

本仓库在 v1-legacy/bootstrap.propertiesv2-maven/bootstrap.properties 中写入:

  • spring.cloud.consul.host=192.168.3.12
  • spring.cloud.consul.port=8500

用于覆盖 fat-jar 内 10.128.161.95:8500,与 deploy/consul-dockerhashicorp/consul:1.22)对齐。在同一目录执行 ./run.sh 时,Spring Cloud 会加载上述 bootstrap.properties

验证 Consulcurl -s http://192.168.3.12:8500/v1/status/leader。浏览器打开 http://192.168.3.12:8500 可看 UI。

说明jar 内 Dubbo / ZooKeeper 仍可能指向旧 IP(如 10.128.161.95:2181);若启动报 ZK 连接失败,需在 application.properties 中另行改 Dubbo 注册中心(本次仅处理 Consul)。

Feign ninca-crk-stdRibbon / Consul

若日志出现 Load balancer does not have available server for client: ninca-crk-std,表示 Consul 里没有名为 ninca-crk-std 的注册实例,而 Feign 默认用 Consul 服务发现拉实例列表。

做法:① 在目标环境启动 ninca-crk-std(访客标准服务) 并注册到同一 Consul;或 ② 在 application.properties 中使用 Ribbon 静态列表(已增加 ninca-crk-std.ribbon.NIWSServerListClassNamelistOfServers,默认与 ninca-crk-std.ip 一致),把 listOfServers 改成你实际可访问的 主机:端口

Redis 与 SPRING_APPLICATION_JSON

fat JAR 的 classpath:/application.properties 会带内网旧 hostpassword;在 Spring Boot 1.5 下,同目录的 application.properties / redis-override.properties 往往压不过 jar 里同文件(见上节说明)。

当前做法deploy/merge-redis-json.sh 读取各目录下的 redis-override.properties,生成一行 SPRING_APPLICATION_JSON(包含 spring.redis.host / port / password),由 run.sh export 后再启动 JVM,优先级高于打包配置。

  • 默认已指向 redis-override.properties 中的地址与口令(若你的环境不一致,直接改该文件)。
  • 临时覆盖口令SPRING_REDIS_PASSWORD='别的密码' ./run.sh(若设为空字符串表示使用无密码 Redis)。
  • 需要 python3
  • 勿把生产口令提交到公开仓库;团队协作时口令宜走密钥管理,redis-override.properties 仅作本机示例。

修改配置

直接编辑对应目录下的 application.properties(与 JAR 同路径),重启进程生效。

JDK 版本(避免 InaccessibleObjectException / CGLIB

历史 JAR 面向 JDK 8。本仓库在 deploy/common-java.sh 顶部用变量 DEPLOY_JDK8 写死默认路径(当前为 /usr/lib/jvm/java-8-openjdk-amd64)。换机器请只改这一处,或通过环境变量临时覆盖:

DEPLOY_JDK8=/你的/jdk8 ./run.sh

默认run.sh 使用 DEPLOY_JDK8不跟随 Conda 的 JAVA_HOME

  • 坚持用当前 Shell 里的 Java(如 Conda JDK17):
    ELEVATOR_USE_ENV_JAVA=1 ./run.sh
    非 JDK8 时会自动追加 --add-opens=...
  • 额外 JVM
    ELEVATOR_JAVA_OPTS="-Xmx512m" ./run.sh

Shell 脚本换行(若出现 bash\r

在 Windows 或某些编辑器下保存成 CRLF 会导致 #!/usr/bin/env bash\r。仓库根已有 .editorconfig 约束 *.sh 使用 LF;若再出现可执行:

find . -name '*.sh' -type f -exec sed -i 's/\r$//' {} +(在 反编译 根目录)