leiyun 1 неделю назад
Родитель
Сommit
03d1a1a03a
2 измененных файлов: 120 добавлений и 23 удалений
  1. +110
    -13
      isolated/README.md
  2. +10
    -10
      isolated/update.MD

+ 110
- 13
isolated/README.md Просмотреть файл

@@ -86,8 +86,10 @@ URL: https://...
先将 `deploy-from-url.sh` 放到甲方服务器。之后执行:

```bash
cd /home/admin-x99/emp

DEPLOY_ENV=emp-uat \
DEPLOY_HOME=/home/admin-x99/emp-uat \
DEPLOY_HOME=/home/admin-x99/emp/emp-uat \
PACKAGE_SHA256=<打包输出的SHA256> \
bash deploy-from-url.sh "<打包输出的URL>"
```
@@ -95,13 +97,13 @@ bash deploy-from-url.sh "<打包输出的URL>"
脚本会将包下载到:

```text
/home/admin-x99/emp-uat/packages/<时间戳>/
/home/admin-x99/emp/emp-uat/packages/<时间戳>/
```

然后把运行文件复制到:

```text
/home/admin-x99/emp-uat/runtime/
/home/admin-x99/emp/emp-uat/runtime/
```

并执行 `install.sh`。
@@ -109,7 +111,7 @@ bash deploy-from-url.sh "<打包输出的URL>"
如果目标目录下还没有 `.env`,`install.sh` 会先从 `.env.example` 生成 `.env` 并停止。修改密码、`PUBLIC_HOST`、端口和第三方配置后,再执行:

```bash
cd /home/admin-x99/emp-uat/runtime
cd /home/admin-x99/emp/emp-uat/runtime
DEPLOY_ENV=emp-uat bash install.sh
```

@@ -121,8 +123,8 @@ DEPLOY_ENV=emp-uat bash install.sh

| 环境 | 部署目录 | Compose 项目名 | 前端 | WS | MySQL | 本地 Kafka 可选 | TDengine REST |
| --- | --- | --- | --- | --- | --- | --- | --- |
| emp-test | `/home/admin-x99/emp-test` | `emp-test` | 4750 | 4751 | 4752 | 4753 | 4754 |
| emp-uat | `/home/admin-x99/emp-uat` | `emp-uat` | 4755 | 4756 | 4757 | 4758 | 4759 |
| emp-test | `/home/admin-x99/emp/emp-test` | `emp-test` | 4750 | 4751 | 4752 | 4753 | 4754 |
| emp-uat | `/home/admin-x99/emp/emp-uat` | `emp-uat` | 4755 | 4756 | 4757 | 4758 | 4759 |

`4760` 预留备用。当前公共 compose 模板不对外暴露 Gateway、PDF、Nacos、Redis、TDengine RPC;如需额外暴露,再使用 `4760` 或向甲方申请新端口。

@@ -141,7 +143,7 @@ Kafka 当前配置:

```bash
DEPLOY_ENV=emp-test \
DEPLOY_HOME=/home/admin-x99/emp-test \
DEPLOY_HOME=/home/admin-x99/emp/emp-test \
PACKAGE_SHA256=<打包输出的SHA256> \
bash deploy-from-url.sh "<emp-test包URL>"
```
@@ -150,17 +152,112 @@ bash deploy-from-url.sh "<emp-test包URL>"

```bash
DEPLOY_ENV=emp-uat \
DEPLOY_HOME=/home/admin-x99/emp-uat \
DEPLOY_HOME=/home/admin-x99/emp/emp-uat \
PACKAGE_SHA256=<打包输出的SHA256> \
bash deploy-from-url.sh "<emp-uat包URL>"
```

Docker compose 会按项目名隔离容器、网络和数据卷,所以只要 `PROJECT_NAME` 不同,`emp-test` 和 `emp-uat` 的数据卷不会互相覆盖。

## TDengine 首次初始化

首次全量部署后,如果 MySQL 数据由外部迁移,只需要在 TDengine 中创建业务库和车辆数据超级表 `s_vehicle_data`。`emp-test` 和 `emp-uat` 是两套独立容器和数据卷,必须分别执行一次。

下面以 `emp-uat` 为例,`CREATE STABLE` 使用 here-doc 方式执行,这是现场验证成功的方式,避免超长单行 SQL 粘贴被截断:

```bash
DEPLOY_ENV=emp-uat
cd /home/admin-x99/emp/$DEPLOY_ENV/runtime

dc() { docker compose --env-file .env -f docker-compose.yml -p "$DEPLOY_ENV" "$@"; }

dc exec -T tdengine taos -s "CREATE DATABASE IF NOT EXISTS emp;"

dc exec -T tdengine taos -d emp <<'SQL'
CREATE STABLE s_vehicle_data (
ts TIMESTAMP,
endurance_mile FLOAT,
vehicle_status INT,
charge_status INT,
operation_mode INT,
speed INT,
total_mile INT,
vol INT,
cur INT,
soc INT,
dc_status INT,
gear INT,
insulation INT,
pedal_mile INT,
break_status INT,
valid BOOL,
longitude INT,
latitude INT,
charge_energy_num INT,
charge_energy_no INT,
charge_vol INT,
charge_cur INT,
bat_num INT,
bat_start INT,
cur_num INT,
bats NCHAR(4096),
charge_energy_temp_num INT,
charge_energy_temp_no INT,
temp_num INT,
temps NCHAR(2048),
version INT,
avg_cur_num INT,
avg_cur INT,
model_code NCHAR(64),
byte_num INT,
soh INT,
ah_num FLOAT,
energy_num FLOAT,
sn NCHAR(64),
can_protocol_detail NCHAR(256),
adc_status INT,
can_vol FLOAT,
adc_vol FLOAT,
adc_vol_sample INT,
battery_code NCHAR(64),
data_time_text NCHAR(32)
) TAGS (
vin_no NCHAR(32)
);

SHOW STABLES;
DESCRIBE s_vehicle_data;
SQL
```

成功标志:

```text
Create OK
SHOW STABLES 输出包含 s_vehicle_data
DESCRIBE s_vehicle_data 输出 47 行字段
```

`taos` 在 `docker compose exec -T` 的非交互终端里可能输出 `Fail to reset the terminal properties` 或 `Fail to set terminal properties`,只要 `Create OK`、`SHOW STABLES` 和 `DESCRIBE` 正常,可以忽略。

建完超级表后重启数据服务:

```bash
dc restart emp-data
```

初始化 `emp-test` 时只需要把环境改成:

```bash
DEPLOY_ENV=emp-test
cd /home/admin-x99/emp/$DEPLOY_ENV/runtime
dc() { docker compose --env-file .env -f docker-compose.yml -p "$DEPLOY_ENV" "$@"; }
```

## 甲方服务器常用命令

```bash
cd /home/admin-x99/emp-uat/runtime
cd /home/admin-x99/emp/emp-uat/runtime

docker compose --env-file .env -f docker-compose.yml -p emp-uat ps
docker compose --env-file .env -f docker-compose.yml -p emp-uat logs -f emp-gateway
@@ -170,7 +267,7 @@ docker compose --env-file .env -f docker-compose.yml -p emp-uat down
查看 test 时把目录和项目名改为 `emp-test`:

```bash
cd /home/admin-x99/emp-test/runtime
cd /home/admin-x99/emp/emp-test/runtime
docker compose --env-file .env -f docker-compose.yml -p emp-test ps
```

@@ -179,8 +276,8 @@ docker compose --env-file .env -f docker-compose.yml -p emp-test ps
如果 COS 不可用,仍然可以通过其他方式把 `dist/` 下的包传到甲方服务器。全量包手工部署示例:

```bash
mkdir -p /home/admin-x99/emp-uat/runtime
tar -xzf emp-uat-runtime-*.tar.gz -C /home/admin-x99/emp-uat/runtime --strip-components=1
cd /home/admin-x99/emp-uat/runtime
mkdir -p /home/admin-x99/emp/emp-uat/runtime
tar -xzf emp-uat-runtime-*.tar.gz -C /home/admin-x99/emp/emp-uat/runtime --strip-components=1
cd /home/admin-x99/emp/emp-uat/runtime
DEPLOY_ENV=emp-uat bash install.sh
```

+ 10
- 10
isolated/update.MD Просмотреть файл

@@ -73,15 +73,15 @@ EMP_ROOT=/home/git \
先确认目标环境已完成全量部署,并存在:

```text
/home/admin-x99/emp-uat/runtime/.env
/home/admin-x99/emp-uat/runtime/docker-compose.yml
/home/admin-x99/emp/emp-uat/runtime/.env
/home/admin-x99/emp/emp-uat/runtime/docker-compose.yml
```

执行:

```bash
DEPLOY_ENV=emp-uat \
DEPLOY_HOME=/home/admin-x99/emp-uat \
DEPLOY_HOME=/home/admin-x99/emp/emp-uat \
PACKAGE_SHA256=<打包输出的SHA256> \
bash deploy-from-url.sh "<打包输出的URL>"
```
@@ -91,13 +91,13 @@ bash deploy-from-url.sh "<打包输出的URL>"
```bash
# 更新 test
DEPLOY_ENV=emp-test \
DEPLOY_HOME=/home/admin-x99/emp-test \
DEPLOY_HOME=/home/admin-x99/emp/emp-test \
PACKAGE_SHA256=<打包输出的SHA256> \
bash deploy-from-url.sh "<emp-test增量包URL>"

# 更新 uat
DEPLOY_ENV=emp-uat \
DEPLOY_HOME=/home/admin-x99/emp-uat \
DEPLOY_HOME=/home/admin-x99/emp/emp-uat \
PACKAGE_SHA256=<打包输出的SHA256> \
bash deploy-from-url.sh "<emp-uat增量包URL>"
```
@@ -118,9 +118,9 @@ $DEPLOY_HOME/packages/<时间戳>/
cd /tmp/emp-update

DEPLOY_ENV=emp-uat \
DEPLOY_HOME=/home/admin-x99/emp-uat \
ENV_FILE=/home/admin-x99/emp-uat/runtime/.env \
COMPOSE_FILE=/home/admin-x99/emp-uat/runtime/docker-compose.yml \
DEPLOY_HOME=/home/admin-x99/emp/emp-uat \
ENV_FILE=/home/admin-x99/emp/emp-uat/runtime/.env \
COMPOSE_FILE=/home/admin-x99/emp/emp-uat/runtime/docker-compose.yml \
bash apply-update.sh emp-admin emp-monitor
```

@@ -131,7 +131,7 @@ bash apply-update.sh emp-admin emp-monitor
查看 UAT 服务状态:

```bash
cd /home/admin-x99/emp-uat/runtime
cd /home/admin-x99/emp/emp-uat/runtime
docker compose --env-file .env -f docker-compose.yml -p emp-uat ps emp-admin emp-monitor
```

@@ -144,7 +144,7 @@ docker compose --env-file .env -f docker-compose.yml -p emp-uat logs --tail=100
查看 test 时把目录和项目名改为 `emp-test`:

```bash
cd /home/admin-x99/emp-test/runtime
cd /home/admin-x99/emp/emp-test/runtime
docker compose --env-file .env -f docker-compose.yml -p emp-test ps emp-admin emp-monitor
```



Загрузка…
Отмена
Сохранить