ソースを参照

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


読み込み中…
キャンセル
保存