docs: add pressure runtime package transfer steps

This commit is contained in:
richjohnrambo
2026-09-27 01:58:31 +08:00
parent 07eb0b05ef
commit 9958b3c462
2 changed files with 51 additions and 15 deletions
@@ -49,8 +49,8 @@
机器 A 已生成: 机器 A 已生成:
```text ```text
/tmp/allrich-machine-b-runtime-p2p-20260927-01.tar.gz /tmp/allrich-machine-b-runtime-p2p-20260927-01.zip
SHA-256: ed22883856862e0ef8183cf14c4306d4569904400867cb2a236c3498e5c6f574 SHA-256: 479f119e7d01e1829c7262cace282c72a5f53ad8e7f5128abc2ade75d046db64
``` ```
机器 B 必须先安全获取该文件,再执行: 机器 B 必须先安全获取该文件,再执行:
@@ -58,10 +58,21 @@ SHA-256: ed22883856862e0ef8183cf14c4306d4569904400867cb2a236c3498e5c6f574
```bash ```bash
git switch dev git switch dev
git pull --ff-only origin dev git pull --ff-only origin dev
# 运行包不在 Git 中,必须从机器 A 单独复制
scp youshunlai@192.168.1.135:/tmp/allrich-machine-b-runtime-p2p-20260927-01.zip /tmp/
shasum -a 256 /tmp/allrich-machine-b-runtime-p2p-20260927-01.zip
unzip -o /tmp/allrich-machine-b-runtime-p2p-20260927-01.zip \
-d loadtest/im-pressure
chmod 600 loadtest/im-pressure/.env.test \
loadtest/im-pressure/config.json \
loadtest/im-pressure/manifest.json
set -a
source loadtest/im-pressure/.env.test
set +a
cd loadtest/im-pressure cd loadtest/im-pressure
tar -xzf /安全传输路径/allrich-machine-b-runtime-p2p-20260927-01.tar.gz
chmod 600 .env.test manifest.json
set -a; source .env.test; set +a
go build -o im-pressure . go build -o im-pressure .
./im-pressure agent \ ./im-pressure agent \
+35 -10
View File
@@ -26,12 +26,23 @@
机器 A 已生成安全运行包: 机器 A 已生成安全运行包:
```text ```text
/tmp/allrich-machine-b-runtime-p2p-20260927-01.tar.gz /tmp/allrich-machine-b-runtime-p2p-20260927-01.zip
SHA-256: ed22883856862e0ef8183cf14c4306d4569904400867cb2a236c3498e5c6f574 SHA-256: 479f119e7d01e1829c7262cace282c72a5f53ad8e7f5128abc2ade75d046db64
``` ```
运行包内只有三个运行时文件:`.env.test`、`config.json`、`manifest.json`。其中包含 API Key、测试账号密码、固定测试验证码和账号 Token,不进入 Git,必须通过受控内网传输。测试环境验证码为 `123456`,正式环境禁止使用固定验证码。 运行包内只有三个运行时文件:`.env.test`、`config.json`、`manifest.json`。其中包含 API Key、测试账号密码、固定测试验证码和账号 Token,不进入 Git,必须通过受控内网传输。测试环境验证码为 `123456`,正式环境禁止使用固定验证码。
因此,机器 B 只执行 `git pull` 后看不到这三个文件是正常现象。机器 B 需要从机器 A 单独复制运行包:
```bash
scp youshunlai@192.168.1.135:/tmp/allrich-machine-b-runtime-p2p-20260927-01.zip /tmp/
shasum -a 256 /tmp/allrich-machine-b-runtime-p2p-20260927-01.zip
# 必须输出:479f119e7d01e1829c7262cace282c72a5f53ad8e7f5128abc2ade75d046db64
```
如果机器 B 无法主动连接 A,也可以由机器 A 执行 `scp` 推送;目标机器的用户名和地址由 B 机提供。禁止通过 Git、公开网盘或无访问控制的 HTTP 服务传输该运行包。
本轮 A/B 都通过同一个公共 WebSocket LB 接入。它能覆盖负载均衡后的多 Pod 投递,但不能保证 A、B 被固定分配到不同 Pod;需要强制跨指定 Pod 时,应另行提供两个定向 WS 入口并更新 `config.json`。 本轮 A/B 都通过同一个公共 WebSocket LB 接入。它能覆盖负载均衡后的多 Pod 投递,但不能保证 A、B 被固定分配到不同 Pod;需要强制跨指定 Pod 时,应另行提供两个定向 WS 入口并更新 `config.json`。
## 运行前向机器 A 获取 ## 运行前向机器 A 获取
@@ -60,30 +71,44 @@ ulimit -n 100000
将 `git rev-parse HEAD` 的结果发给机器 A,确认两边代码版本一致。 将 `git rev-parse HEAD` 的结果发给机器 A,确认两边代码版本一致。
## 第二步:放置运行文件 ## 第二步:解压运行文件
机器 A 应把文件放到: 在机器 B 的仓库根目录执行:
```bash
unzip -o /tmp/allrich-machine-b-runtime-p2p-20260927-01.zip \
-d loadtest/im-pressure
chmod 600 \
loadtest/im-pressure/.env.test \
loadtest/im-pressure/config.json \
loadtest/im-pressure/manifest.json
```
解压后必须存在:
```text ```text
loadtest/im-pressure/.env.test
loadtest/im-pressure/config.json loadtest/im-pressure/config.json
loadtest/im-pressure/manifest.json loadtest/im-pressure/manifest.json
``` ```
检查并保护 manifest: 检查文件:
```bash ```bash
test -s loadtest/im-pressure/.env.test
test -s loadtest/im-pressure/config.json test -s loadtest/im-pressure/config.json
test -s loadtest/im-pressure/manifest.json test -s loadtest/im-pressure/manifest.json
chmod 600 loadtest/im-pressure/manifest.json
``` ```
## 第三步:设置环境变量并核验 ## 第三步:设置环境变量并核验
```bash ```bash
export IM_API_KEY='由机器A提供' set -a
export IM_LOAD_PASSWORD='由机器A提供' source loadtest/im-pressure/.env.test
export MACHINE_A_IP='机器A内网IP' set +a
export RUN_ID='由机器A提供的本轮run-id'
export MACHINE_A_IP='192.168.1.135'
export RUN_ID='p2p-20260927-01'
./loadtest/im-pressure/im-pressure verify \ ./loadtest/im-pressure/im-pressure verify \
-config loadtest/im-pressure/config.json \ -config loadtest/im-pressure/config.json \