From 35bc2696f4f0b526d09903d5b31170b5e927fc55 Mon Sep 17 00:00:00 2001 From: local Date: Tue, 23 Jun 2026 23:49:23 +0800 Subject: [PATCH] docs: update admin server deploy target --- AGENTS.md | 6 +++--- README.md | 18 ++++++++++++------ deploy/README.md | 2 +- deploy/tencent_tat/README.md | 18 ++++++++++-------- 4 files changed, 26 insertions(+), 18 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index eaa7f2c..e215210 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -36,9 +36,9 @@ ## 生产特殊服务 -1. `admin-server` 不在标准 prod inventory 的滚动服务清单里;它部署在独立机器 `134.175.160.86` / `172.16.0.6`。 -2. `admin-server` 的 systemd 是 `hyapp-admin-server`,二进制是 `/opt/hyapp/admin-server/admin-server`,配置是 `/etc/hyapp/admin-server/config.yaml`,监听 `172.16.0.6:13100`。 -3. 更新 `admin-server` 必须通过 deploy 平台触发;由 deploy 机器 `43.164.75.199` 在 `/opt/deploy/sources/hyapp-server` 拉取 Gitea `git@gitea.haiyihy.com:hy/hyapp-server.git` 的 `origin/main`,构建 Linux 二进制,上传到 `134.175.160.86` 替换 `/opt/hyapp/admin-server/admin-server` 后重启 `hyapp-admin-server`。线上只允许发布 `origin/main`;发布后必须验证 systemd `active`、`13100` 监听和 `healthz/readyz`。 +1. `admin-server` 不在标准 prod inventory 的滚动服务清单里;它部署在 Saudi 机器 `43.164.70.49` / `10.2.1.2`,实例 `ins-p11begwe`。 +2. `admin-server` 的 systemd 是 `hyapp-admin-server`,容器是 `hyapp-admin-server`,镜像是 `10.2.1.3:18082/hyapp/admin-server:`,配置是 `/etc/hyapp/admin-server/config.yaml`,Docker env 是 `/etc/hyapp/admin-server/docker.env`,监听 `10.2.1.2:13100`。 +3. 更新 `admin-server` 时,由 deploy 机器 `43.164.75.199` 在 `/opt/deploy/sources/hyapp-server` 拉取 Gitea `git@gitea.haiyihy.com:hy/hyapp-server.git` 的 `origin/main`,构建并推送 `10.2.1.3:18082/hyapp/admin-server:`,再通过 Tencent TAT 到 `ins-p11begwe` 修改 docker env 的 `IMAGE` 后重启 `hyapp-admin-server`。线上只允许发布 `origin/main`;发布后必须验证容器镜像 tag、systemd `active`、`13100` 监听和 `healthz/readyz`。`hyapp_admin_server_deploy.py` 是旧广州机器二进制发布脚本,不适用于当前生产 `admin-server`。 4. HyApp `cron-service` 当前部署在 Saudi 主服务机器 `new-app-1`,实例 `ins-fi5zufpk`,内网 `10.2.1.4`。 5. `cron-service` 的 systemd 是 `hyapp-cron-service`,容器是 `hyapp-cron-service`,配置是 `/etc/hyapp/cron-service/config.yaml`,Docker env 是 `/etc/hyapp/cron-service/docker.env`,监听 `13007`。 6. `cron-service` 当前不在标准 prod inventory 的 `services` 清单里;更新时构建并推送 `10.2.1.3:18082/hyapp/cron-service:`,通过 Tencent TAT 到 `new-app-1` 修改 docker env 的 `IMAGE` 后重启 `hyapp-cron-service`。 diff --git a/README.md b/README.md index e0100a1..486e13d 100644 --- a/README.md +++ b/README.md @@ -79,15 +79,21 @@ make up ### admin-server -- 机器:公网 `134.175.160.86`,内网 `172.16.0.6` +- 机器:公网 `43.164.70.49`,内网 `10.2.1.2` +- 腾讯云实例:`ins-p11begwe` +- 区域:`me-saudi-arabia` - systemd:`hyapp-admin-server` -- 二进制:`/opt/hyapp/admin-server/admin-server` +- 容器:`hyapp-admin-server` +- 镜像:`10.2.1.3:18082/hyapp/admin-server:` - 配置:`/etc/hyapp/admin-server/config.yaml` -- 启动参数:`/opt/hyapp/admin-server/admin-server -config /etc/hyapp/admin-server/config.yaml` -- 监听:`172.16.0.6:13100` -- 验证:`systemctl is-active hyapp-admin-server`、`ss -lntp | grep 13100` +- Docker env:`/etc/hyapp/admin-server/docker.env` +- migrations:`/opt/hyapp/admin-server/migrations` +- 监听:`10.2.1.2:13100` +- 验证:`systemctl is-active hyapp-admin-server`、`docker inspect hyapp-admin-server --format '{{.Config.Image}}'`、`ss -lntp | grep 13100`、`curl -fsS http://10.2.1.2:13100/healthz`、`curl -fsS http://10.2.1.2:13100/readyz` -`admin-server` 更新走 deploy 平台触发:调用 `POST /deploy/api/hyapp/admin-server/deploy`,由 deploy 机器 `43.164.75.199` 在 `/opt/deploy/sources/hyapp-server` 拉取 Gitea `git@gitea.haiyihy.com:hy/hyapp-server.git` 的 `origin/main`,构建 Linux 二进制后上传到 `134.175.160.86`,替换 `/opt/hyapp/admin-server/admin-server` 并重启 `hyapp-admin-server`。线上只允许发布 `origin/main`;发布后必须确认 systemd `active`、端口监听、`healthz/readyz` 正常。 +`admin-server` 当前不是二进制直传部署,而是和其他 HyApp 后端一样通过内网 Harbor 镜像发布。发布时先在 deploy 机器 `43.164.75.199` 的 `/opt/deploy/sources/hyapp-server` 拉取 Gitea `git@gitea.haiyihy.com:hy/hyapp-server.git` 的 `origin/main`,构建并推送 `10.2.1.3:18082/hyapp/admin-server:`,再通过 Tencent TAT 到 `ins-p11begwe` 修改 `/etc/hyapp/admin-server/docker.env` 中的 `IMAGE` 并重启 `hyapp-admin-server`。线上只允许发布 `origin/main`;发布后必须确认容器镜像 tag、systemd `active`、端口监听、`healthz/readyz` 正常。 + +注意:`deploy/tencent_tat/hyapp_admin_server_deploy.py` 是旧广州机器 `134.175.160.86 / 172.16.0.6` 的二进制发布链路,不适用于当前 Saudi `admin-server`。除非先更新脚本目标和部署模型,否则不要用它发布生产 `admin-server`。 ### cron-service diff --git a/deploy/README.md b/deploy/README.md index 62394df..ad27660 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -49,7 +49,7 @@ npm run deploy:serve - `GET /deploy/api/hyapp/discover?services=user-service&remote=1&includeConfig=1`:读取详情 YAML,密钥字段脱敏。 - `GET /deploy/api/hyapp/resources?remote=1`:数据资源状态。链路:TAT -> deploy;业务服务器配置 SSH 失败后 TAT 兜底。 - `POST /deploy/api/hyapp/deploy`:真实发布,必须带 `confirmed=true`;测试时使用 `dryRun=true`。 -- `POST /deploy/api/hyapp/admin-server/deploy`:生产 `admin-server` 固定发布入口,必须带 `confirmed=true`;deploy 机器拉取 Gitea `hyapp-server` 的 `origin/main`,构建并替换 `134.175.160.86` 上的 `/opt/hyapp/admin-server/admin-server`,最后验证 `healthz/readyz`。 +- `POST /deploy/api/hyapp/admin-server/deploy`:历史二进制发布入口,目标是旧广州机器 `134.175.160.86 / 172.16.0.6`,不适用于当前生产 `admin-server`。当前生产 `admin-server` 在 `43.164.70.49 / 10.2.1.2`(实例 `ins-p11begwe`)以 Docker 方式运行,应构建并推送 `10.2.1.3:18082/hyapp/admin-server:`,再通过 TAT 更新 `/etc/hyapp/admin-server/docker.env` 的 `IMAGE` 并重启 `hyapp-admin-server`。 - `POST /deploy/api/hyapp/restart`:真实重启,必须带 `confirmed=true`;测试时使用 `dryRun=true`。 - `GET /deploy/api/hyapp/testbox/status`:读取测试机 test 分支、timer 和 Compose/systemd 服务状态。 - `POST /deploy/api/hyapp/testbox/service`:测试机服务 `update/start/stop/restart`,必须带 `confirmed=true`。 diff --git a/deploy/tencent_tat/README.md b/deploy/tencent_tat/README.md index 963bd04..98c7194 100644 --- a/deploy/tencent_tat/README.md +++ b/deploy/tencent_tat/README.md @@ -148,16 +148,18 @@ python3 deploy/tencent_tat/hyapp_data_resources.py resources \ --inventory deploy/tencent_tat/hyapp-services.inventory.prod.json ``` -生产 `admin-server` 固定从 Gitea `origin/main` 发布,入口由 deploy 机器触发: +生产 `admin-server` 当前运行在 Saudi 机器 `43.164.70.49 / 10.2.1.2`(实例 `ins-p11begwe`),以 Docker 容器 `hyapp-admin-server` 运行: -```bash -python3 deploy/tencent_tat/hyapp_admin_server_deploy.py deploy \ - --env-file /opt/hy-app-monitor/.env \ - --inventory deploy/tencent_tat/hyapp-services.inventory.prod.json \ - --yes -``` +- systemd:`hyapp-admin-server` +- 镜像:`10.2.1.3:18082/hyapp/admin-server:` +- Docker env:`/etc/hyapp/admin-server/docker.env` +- 配置:`/etc/hyapp/admin-server/config.yaml` +- migrations:`/opt/hyapp/admin-server/migrations` +- 监听:`10.2.1.2:13100` -这条链路会在 deploy 机器 `/opt/deploy/sources/hyapp-server` 拉取 `git@gitea.haiyihy.com:hy/hyapp-server.git` 的 `origin/main`,构建 `server/admin` Linux 二进制,替换 `134.175.160.86:/opt/hyapp/admin-server/admin-server`,再验证 `172.16.0.6:13100` 的 `/healthz` 和 `/readyz`。生产不允许切换到其他分支。 +发布时先在 deploy 机器 `/opt/deploy/sources/hyapp-server` 拉取 `git@gitea.haiyihy.com:hy/hyapp-server.git` 的 `origin/main`,构建并推送 `10.2.1.3:18082/hyapp/admin-server:`,再通过 TAT 到 `ins-p11begwe` 修改 `/etc/hyapp/admin-server/docker.env` 中的 `IMAGE` 并重启 `hyapp-admin-server`。生产不允许切换到其他分支;发布后必须验证 `systemctl is-active hyapp-admin-server`、容器镜像 tag、`10.2.1.2:13100` 监听、`/healthz` 和 `/readyz`。 + +注意:`hyapp_admin_server_deploy.py` 是旧广州机器 `134.175.160.86 / 172.16.0.6` 的二进制发布脚本,不适用于当前生产 `admin-server`。除非先更新脚本目标和部署模型,否则不要用它发布生产 `admin-server`。 规则: