|
|
|
@@ -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 |
|
|
|
``` |