瀏覽代碼

feat:解决发布ws后emp-admin 的 Nginx 反代未刷新

master
zhuds 2 月之前
父節點
當前提交
a633c35f34
共有 2 個檔案被更改,包括 29 行新增0 行删除
  1. +23
    -0
      isolated/apply-update.sh
  2. +6
    -0
      isolated/update.MD

+ 23
- 0
isolated/apply-update.sh 查看文件

@@ -124,6 +124,18 @@ read_services() {
done
}

contains_service() {
local target="$1"
shift
local service
for service in "$@"; do
if [[ "$service" == "$target" ]]; then
return 0
fi
done
return 1
}

need_cmd docker
ENV_FILE="$(resolve_runtime_file "$ENV_FILE" ".env")"
resolve_compose_files
@@ -147,6 +159,17 @@ $COMPOSE_CMD \
-p "$PROJECT_NAME" \
up -d --no-deps --force-recreate "${UPDATE_SERVICES[@]}"

if ! contains_service "emp-admin" "${UPDATE_SERVICES[@]}" \
&& { contains_service "emp-ws" "${UPDATE_SERVICES[@]}" || contains_service "emp-gateway" "${UPDATE_SERVICES[@]}"; }; then
log "Restart emp-admin to refresh Nginx upstream DNS"
# shellcheck disable=SC2086
$COMPOSE_CMD \
--env-file "$ENV_FILE" \
"${COMPOSE_ARGS[@]}" \
-p "$PROJECT_NAME" \
restart emp-admin
fi

log "Current service status"
# shellcheck disable=SC2086
$COMPOSE_CMD \


+ 6
- 0
isolated/update.MD 查看文件

@@ -141,6 +141,12 @@ docker compose --env-file .env -f docker-compose.yml -p emp-uat ps emp-admin emp
docker compose --env-file .env -f docker-compose.yml -p emp-uat logs --tail=100 emp-monitor
```

如果只更新了 `ws` 或 `gateway` 后,管理入口出现 `/simulator/` 或 `/api/` 502,通常是 `emp-admin` 内部 Nginx 仍缓存了旧容器 IP。新版 `apply-update.sh` 会自动重启 `emp-admin` 刷新上游解析;老包或手工更新时可执行:

```bash
docker compose --env-file .env -f docker-compose.yml -p emp-uat restart emp-admin
```

查看 test 时把目录和项目名改为 `emp-test`:

```bash


Loading…
取消
儲存