Skip to content

fix: install git clone 失败硬退出 + 默认 MQ 切 rocketMQ 后清理 spring.activemq - #102

Merged
jeequan merged 2 commits into
devfrom
fix/install-clone-assert
May 27, 2026
Merged

fix: install git clone 失败硬退出 + 默认 MQ 切 rocketMQ 后清理 spring.activemq#102
jeequan merged 2 commits into
devfrom
fix/install-clone-assert

Conversation

@jeequan

@jeequan jeequan commented Apr 23, 2026

Copy link
Copy Markdown
Owner

本 PR 含 2 个独立修复,合到 dev 进入下个补丁版(V3.2.9)。


修复 1:install.sh git clone 失败硬退出

背景

用户使用主干 install.sh 部署时踩坑:

install.sh: 第 449 行:cd: /jeepayhomes/sources/jeepay/docs/install: No such file or directory
ERROR: 步骤失败(exit=1):复制 MySQL 配置 my.cnf

真实根因是 git clone --branch $jeepayRef 失败(V3.2.8 tag 刚 push 到 GitHub,还没镜像到 gitee),jeepay/ 目录压根没创建,但脚本没断言,继续往下跑到 [3] 复制 MySQL 配置 my.cnf 才爆一个文不对题的错,让用户误以为是 MySQL 步骤的问题。

变更

  • docs/install/install.sh line 413 的 git clone 之后加 require_ok $?,错误信息里直接告诉用户"若 tag 尚未推送到 gitee,请改用 jeepayRef=master 覆盖或稍后重试"。

验证

  • bash -n install.sh 语法校验通过。
  • 触发路径:将 jeepayRef 设为一个不存在的 tag 再跑,应在 [2] 阶段立刻退出,不再往后走。

修复 2:默认 MQ 切 rocketMQ 后清理 spring.activemq 配置(修复 #105

背景

issue #105 反馈:默认 isys.mq.vender 已是 rocketMQ,但 conf/ 下 4 份 application.ymlspring.activemq.* 段仍保持启用状态,读起来跟底部 vender 配置自相矛盾。

定位到根因:e2dc439 优化:默认切换 RocketMQ 部署方案 那次提交只改了底部 vender 和加了 rocketmq 根节点,漏注释掉 spring 段的 activemq 配置。

实际影响:jeepay-components-mq/pom.xmlspring-boot-starter-activemq 是 compile scope,Spring Boot 启动仍会解析这段配置并尝试连 activemq5:61616failover:// 不报错,后台一直重连),产生噪音和资源占用,也让阅读者误以为系统在用 activeMQ。

变更

按已有 rabbitmq / rocketmq(spring 段) 注释惯例,把 conf/{payment,manager,merchant,devCommons/config}/application.yml 4 份模板里的 spring.activemq 段也注释掉,并在标题注里加了说明:默认 rocketMQ,如需切回 activeMQ 请同步改 isys.mq.vender

验证

  • 部署到默认 RocketMQ 环境,启动日志不再出现尝试连 activemq5:61616 的 failover 重连
  • isys.mq.vender 改回 activeMQ 并放开 spring.activemq 注释,确认仍能正常起 activemq 模式(兼容性)

发布节奏

作为下个补丁版(V3.2.9)的修复入 dev。本 PR 不改 version.md / jeepayRef 默认值,由 V3.2.9 发版本 PR 集中撞版本号。

@jeequan
jeequan changed the base branch from master to dev April 23, 2026 04:05
@jeequan
jeequan force-pushed the fix/install-clone-assert branch from c4b1a1e to ed575a0 Compare May 24, 2026 05:32
@jeequan jeequan changed the title fix(install): git clone 源码后加 require_ok,避免 tag 不存在被后续步骤吞错 fix: install git clone 失败硬退出 + 默认 MQ 切 rocketMQ 后清理 spring.activemq May 24, 2026
大森林 added 2 commits May 27, 2026 15:51
V3.2.8 tag 未同步到 gitee 时,git clone --branch V3.2.8 失败,脚本继续
执行到 [3] 才以 'cd: /jeepayhomes/sources/jeepay/docs/install: No such
file or directory' / '复制 MySQL 配置 my.cnf' 爆错,误导用户以为是 MySQL
步骤问题。补上 require_ok 后 clone 失败立刻退出并打印明确原因与规避
方式(jeepayRef=master 覆盖)。
默认 isys.mq.vender 已是 rocketMQ,但 conf 下 4 份 application.yml
里 spring.activemq.* 仍保持启用状态。由于 activemq starter 是
compile scope,Spring Boot 会真去解析这段配置并起 ConnectionFactory
连接默认的 activemq5:61616 / 127.0.0.1:61616,failover 协议会一直
后台重连,产生噪音和资源占用,也容易让阅读者误以为系统在用 activeMQ。

按已有 rabbitmq / rocketmq(spring 段) 注释惯例,把这段也注释掉,
并在标题注里说明:默认走 rocketMQ,如需切回 activeMQ 请同步改
isys.mq.vender。涉及文件:conf/{payment,manager,merchant,devCommons/config}/application.yml。

refs #105
@jeequan
jeequan force-pushed the fix/install-clone-assert branch from ed575a0 to 0b10193 Compare May 27, 2026 07:51
@jeequan
jeequan merged commit 93bfd0e into dev May 27, 2026
2 checks passed
@jeequan
jeequan deleted the fix/install-clone-assert branch May 27, 2026 07:52
pull Bot pushed a commit to w346489584/jeepay that referenced this pull request May 27, 2026
按 upgrade.md 风格惯例(参考 V3.2.7 / V3.2.8 段),把 V3.2.9 段从展开版
(带 ">" 引言段 + 每条 3-5 行类名 / 机制 / 详细技术解释)改成每条 1-2 行
的简短风格。

upgrade.md 是面向用户的版本说明,关心"哪些场景受影响 / 是否需要升级",
详细机制保留在 PR jeequan#102 / jeequan#106 描述里。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant