test: add go systemd production smoke

This commit is contained in:
lingniu
2026-07-02 01:51:41 +08:00
parent 0ef88e1a4c
commit 96514898eb
4 changed files with 214 additions and 20 deletions

View File

@@ -18,32 +18,26 @@ go build ./cmd/stat-writer
go build ./cmd/realtime-api
```
## 镜像构建
## 生产原生部署验证
```bash
cd go/vehicle-gateway
docker build -t vehicle-gateway-go:local .
python3 tools/go_systemd_prod_smoke.py --host 115.29.187.205 --user root
```
同一个镜像包含四个二进制
脚本通过 SSH 检查
- `/app/gateway`
- `/app/history-writer`
- `/app/stat-writer`
- `/app/realtime-api`
- `lingniu-go-gateway.service`
- `lingniu-go-history-writer.service`
- `lingniu-go-stat-writer.service`
- `lingniu-go-realtime-api.service`
- `808``32960``gateway` 监听
- `20210``realtime-api` 监听
## Portainer 部署
## 生产环境变量
Go 旁路 stack 文件
当前 goal 的生产面使用 ECS 原生 systemd 部署,不再以 Docker/Portainer 作为生产运行方式。以下环境变量维护在 `/opt/lingniu-go-native/env/*.env`
```bash
deploy/portainer/docker-compose-go.yml
```
必填变量:
```bash
LINGNIU_GO_IMAGE_VERSION=<image-version>
KAFKA_BROKERS=172.17.111.56:9092
TDENGINE_DSN=root:<password>@ws(172.17.111.57:6041)/lingniu_vehicle_ts
MYSQL_DSN=lingniu_vehicle:<password>@tcp(rm-bp179zbv481rnw3e2.mysql.rds.aliyuncs.com:3306)/lingniu_vehicle_data?parseTime=true&charset=utf8mb4,utf8&loc=Asia%2FShanghai
@@ -68,8 +62,7 @@ YUTONG_MQTT_PASSWORD=<password>
## ECS 进程检查
```bash
docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}' \
| egrep 'go-vehicle-gateway|go-history-writer|go-stat-writer|go-realtime-api|NAMES'
systemctl is-active lingniu-go-gateway lingniu-go-history-writer lingniu-go-stat-writer lingniu-go-realtime-api
ss -lntp | egrep ':(808|32960|20210)\b'
```