This is an automated email from the ASF dual-hosted git repository.
lizhimins pushed a commit to branch rocketmq-studio
in repository https://gitbox.apache.org/repos/asf/rocketmq-dashboard.git
The following commit(s) were added to refs/heads/rocketmq-studio by this push:
new 7abf8adaf chore(deploy): pin the demo RocketMQ cluster to the released
5.5.0 tag (#7368)
7abf8adaf is described below
commit 7abf8adaf660d75f2d686bbe8741be76c3a5ddd3
Author: lizhimins <[email protected]>
AuthorDate: Thu Oct 29 16:38:13 2026 +0800
chore(deploy): pin the demo RocketMQ cluster to the released 5.5.0 tag
(#7368)
The demo cluster image was built from the develop branch and tagged
apache-rocketmq:develop, so a release could ship pointing at an unreleased
moving target while server/pom.xml declares rocketmq.version 5.5.0.
Default ROCKETMQ_BRANCH to the released rocketmq-all-5.5.0 tag, expose it
as a
compose build arg so an override does not need a file edit, and rename the
image
tag to apache-rocketmq:5.5.0 across the six services. Following develop
stays
possible via ROCKETMQ_BRANCH=develop for local debugging only.
---
.claude/skills/deploy-rocketmq/SKILL.md | 10 ++++++----
.claude/skills/regression-rocketmq/scripts/dlq_check.sh | 4 ++--
deploy/rocketmq/Dockerfile | 7 ++++---
deploy/rocketmq/README.md | 9 +++++++--
deploy/rocketmq/build.sh | 2 +-
deploy/rocketmq/docker-compose.yml | 15 +++++++++------
6 files changed, 29 insertions(+), 18 deletions(-)
diff --git a/.claude/skills/deploy-rocketmq/SKILL.md
b/.claude/skills/deploy-rocketmq/SKILL.md
index f758efbbb..0d92f9589 100644
--- a/.claude/skills/deploy-rocketmq/SKILL.md
+++ b/.claude/skills/deploy-rocketmq/SKILL.md
@@ -217,14 +217,16 @@ $SSH 'cd /opt/rocketmq/rocketmq && ./build.sh'
```
- `build.sh` 自动判断地理位置:国内切阿里 apt/Maven 源,国外用默认源。
-- Dockerfile 为多阶段构建:builder 阶段 `git clone --depth 1 -b develop
+- Dockerfile 为多阶段构建:builder 阶段 `git clone --depth 1 -b rocketmq-all-5.5.0
https://github.com/apache/rocketmq.git` 后执行
`mvn -Prelease-all -DskipTests clean install`,运行阶段仅保留
`bin/ conf/ lib/` 产物,基础镜像 `alibabadragonwell/dragonwell:17-anolis`(yum
系,国内拉取快)。
- 构建阶段需访问 github.com,国内机器若 clone 慢或失败,用
`--build-arg ROCKETMQ_REPO=<镜像仓库地址>` 换源。
-- 首次构建需 10-20 分钟;如需指定其他分支或 tag:
- `./build.sh --build-arg ROCKETMQ_BRANCH=rocketmq-all-5.5.0`
+- 首次构建需 10-20 分钟;默认钉已发布 tag(与 `server/pom.xml` 的 `rocketmq.version` 对齐),
+ 换版本用 `./build.sh --build-arg ROCKETMQ_BRANCH=rocketmq-all-5.5.1` 并同步改
+ `docker-compose.yml` 的 image tag;跟未发布分支用 `ROCKETMQ_BRANCH=develop`(仅限本地排查,
+ 不要把 develop 钉回仓库)。
### 3. 启动(仅核心服务)
@@ -599,5 +601,5 @@ docker compose exec nameserver sh bin/mqadmin queryMsgByKey
\
- **Maven 分发包下载慢**:`archive.apache.org` 国内常只有几 KB/s;改从
`https://mirrors.aliyun.com/apache/maven/maven-3/<版本>/binaries/apache-maven-<版本>-bin.tar.gz`
下载(阿里源实测 10MB/s+;如 3.9.16 即
`maven-3/3.9.16/binaries/apache-maven-3.9.16-bin.tar.gz`)。
-- **目标机已有同名镜像**(如上次部署遗留的 `apache-rocketmq:develop`、`mysql:8.0`):
+- **目标机已有同名镜像**(如上次部署遗留的 `apache-rocketmq:5.5.0`、`mysql:8.0`):
可跳过构建直接 `docker compose up -d`,先 `docker images` 确认。
diff --git a/.claude/skills/regression-rocketmq/scripts/dlq_check.sh
b/.claude/skills/regression-rocketmq/scripts/dlq_check.sh
index f823b2dca..86ab98a4c 100755
--- a/.claude/skills/regression-rocketmq/scripts/dlq_check.sh
+++ b/.claude/skills/regression-rocketmq/scripts/dlq_check.sh
@@ -16,7 +16,7 @@
# 死信全链路回归:建 topic/group → Studio 发 3 条 → 必失败消费者重试进 DLQ →
# Studio DLQ 接口可见 → 重投 → 清理。命名带时间戳,trap 保证收尾清理。
-# 依赖:目标机已有 deploy-rocketmq 模式 B/C 集群(容器网络 rocketmq_net + 镜像
apache-rocketmq:develop)。
+# 依赖:目标机已有 deploy-rocketmq 模式 B/C 集群(容器网络 rocketmq_net + 镜像
apache-rocketmq:5.5.0)。
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -25,7 +25,7 @@
E2E_DIR="${E2E_DIR:-$SCRIPT_DIR/../../../../../../project/rocketmq-studio-docs/e
: "${SSH_TARGET:?need: export SSH_TARGET=<user>@<host> before running}"
SSH="ssh -o BatchMode=yes $SSH_TARGET"
NAMESRV="${NAMESRV:-rmq-nameserver:9876}"
-RMQ_IMAGE="${RMQ_IMAGE:-apache-rocketmq:develop}"
+RMQ_IMAGE="${RMQ_IMAGE:-apache-rocketmq:5.5.0}"
REMOTE_DIR="${REMOTE_DIR:-/opt/e2e-dlq}"
cd "$E2E_DIR"
diff --git a/deploy/rocketmq/Dockerfile b/deploy/rocketmq/Dockerfile
index b0f3dec66..a29db3c2e 100644
--- a/deploy/rocketmq/Dockerfile
+++ b/deploy/rocketmq/Dockerfile
@@ -13,14 +13,15 @@
# * See the License for the specific language governing permissions and
# * limitations under the License.
#
-# 从源码构建 Apache RocketMQ 开源镜像(默认 develop 分支)
+# 从源码构建 Apache RocketMQ 开源镜像(默认钉已发布 tag rocketmq-all-5.5.0)
# 用法: ./build.sh(自动判断地理位置,国内走阿里源)
-# 或 docker compose build,可用 --build-arg
ROCKETMQ_BRANCH=rocketmq-all-5.5.0 指定分支/tag
+# 或 docker compose build,可用 --build-arg
ROCKETMQ_BRANCH=rocketmq-all-5.5.1 换版本、
+# ROCKETMQ_BRANCH=develop 跟未发布分支
FROM maven:3.9-eclipse-temurin-17 AS builder
ARG ROCKETMQ_REPO=https://github.com/apache/rocketmq.git
-ARG ROCKETMQ_BRANCH=develop
+ARG ROCKETMQ_BRANCH=rocketmq-all-5.5.0
# true 时 apt / Maven 走阿里镜像源(国内网络加速),由 build.sh 自动探测
ARG USE_CN_MIRROR=false
diff --git a/deploy/rocketmq/README.md b/deploy/rocketmq/README.md
index 769aafb8d..af57e1445 100644
--- a/deploy/rocketmq/README.md
+++ b/deploy/rocketmq/README.md
@@ -1,6 +1,7 @@
# RocketMQ 开源集群本地部署(docker compose)
-从 Apache RocketMQ 开源 develop 分支源码构建镜像,用 docker compose 拉起
+从 Apache RocketMQ 开源已发布 tag(默认 `rocketmq-all-5.5.0`,与 `server/pom.xml` 的
+`rocketmq.version` 对齐)源码构建镜像,用 docker compose 拉起
NameServer + 双 Broker + Proxy(集群名 `rocketmq-studio`),并附带 1 TPS
持续收发消息的 Producer / Consumer 容器(均开启消息轨迹),供 RocketMQ Studio
本地调试使用。
@@ -9,7 +10,7 @@ NameServer + 双 Broker + Proxy(集群名 `rocketmq-studio`),并附带 1 T
```
deploy/rocketmq/
-├── Dockerfile # git clone develop 分支 + Maven 构建,多阶段产出运行镜像
+├── Dockerfile # git clone 已发布 tag + Maven 构建,多阶段产出运行镜像
├── build.sh # 构建入口:自动判断地理位置,国内走阿里源
├── docker-compose.yml # nameserver / broker-0 / broker-1 / proxy /
producer / consumer
├── conf/
@@ -33,6 +34,10 @@ cd deploy/rocketmq
# 1. 构建镜像(首次约 10-20 分钟,含 clone + mvn 编译;国内自动切阿里源)
./build.sh
+# 换 RocketMQ 版本时同时改两处:Dockerfile 的 ROCKETMQ_BRANCH 默认值、
+# docker-compose.yml 的 image tag(apache-rocketmq:<version>)
+# 临时跟未发布分支:ROCKETMQ_BRANCH=develop ./build.sh
+
# 2. 拉起集群与收发客户端(compose 把 rocketmq_net 声明为 external,需先创建)
docker network create rocketmq_net 2>/dev/null || true
docker compose up -d
diff --git a/deploy/rocketmq/build.sh b/deploy/rocketmq/build.sh
index 674573f6a..5b179ed37 100755
--- a/deploy/rocketmq/build.sh
+++ b/deploy/rocketmq/build.sh
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# 构建 apache-rocketmq:develop 镜像
+# 构建 apache-rocketmq:5.5.0 镜像(源码钉已发布 tag rocketmq-all-5.5.0)
# 自动判断地理位置:国内走阿里源(apt / Maven),国外用默认源
set -e
cd "$(dirname "$0")"
diff --git a/deploy/rocketmq/docker-compose.yml
b/deploy/rocketmq/docker-compose.yml
index b6a70a992..51c0d11d9 100644
--- a/deploy/rocketmq/docker-compose.yml
+++ b/deploy/rocketmq/docker-compose.yml
@@ -17,10 +17,13 @@ name: rocketmq
services:
nameserver:
- image: apache-rocketmq:develop
+ image: apache-rocketmq:5.5.0
build:
context: .
args:
+ # 默认钉已发布的 RocketMQ 版本,与 server/pom.xml 的 rocketmq.version 对齐;
+ # 需要跟未发布分支时用 ROCKETMQ_BRANCH=develop ./build.sh 覆盖
+ ROCKETMQ_BRANCH: ${ROCKETMQ_BRANCH:-rocketmq-all-5.5.0}
USE_CN_MIRROR: ${USE_CN_MIRROR:-false}
container_name: rmq-nameserver
command: sh bin/mqnamesrv
@@ -30,7 +33,7 @@ services:
- "9876:9876"
broker-0:
- image: apache-rocketmq:develop
+ image: apache-rocketmq:5.5.0
container_name: rmq-broker-0
command: sh bin/mqbroker -c /etc/rocketmq/broker-0.conf
cpus: 1
@@ -50,7 +53,7 @@ services:
- nameserver
broker-1:
- image: apache-rocketmq:develop
+ image: apache-rocketmq:5.5.0
container_name: rmq-broker-1
command: sh bin/mqbroker -c /etc/rocketmq/broker-1.conf
cpus: 1
@@ -71,7 +74,7 @@ services:
- nameserver
proxy:
- image: apache-rocketmq:develop
+ image: apache-rocketmq:5.5.0
container_name: rmq-proxy
command: sh bin/mqproxy -pc /etc/rocketmq/rmq-proxy.json
cpus: 1
@@ -89,7 +92,7 @@ services:
restart: on-failure
producer:
- image: apache-rocketmq:develop
+ image: apache-rocketmq:5.5.0
container_name: rmq-producer
command: >
sh -c "javac -encoding UTF-8 -cp 'lib/*' -d /tmp/classes
/clients/TraceProducer.java
@@ -107,7 +110,7 @@ services:
restart: on-failure
consumer:
- image: apache-rocketmq:develop
+ image: apache-rocketmq:5.5.0
container_name: rmq-consumer
command: >
sh -c "javac -encoding UTF-8 -cp 'lib/*' -d /tmp/classes
/clients/TraceConsumer.java