chatapp3-java/.local-run/nacos/import-configs.sh
2026-04-15 11:12:22 +08:00

56 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
CONFIG_DIR="$ROOT_DIR/.local-run/nacos/configs"
NACOS_ADDR="${NACOS_ADDR:-127.0.0.1:8848}"
NAMESPACE_ID="${NACOS_NAMESPACE_ID:-f7a8594e-090c-4830-a3ad-b5c0f9afcc07}"
NAMESPACE_NAME="${NACOS_NAMESPACE_NAME:-likei-local}"
wait_nacos() {
for _ in $(seq 1 60); do
if curl -fsS "http://$NACOS_ADDR/nacos/v1/console/health/readiness" >/dev/null 2>&1; then
return 0
fi
sleep 2
done
echo "Nacos 未就绪: $NACOS_ADDR" >&2
return 1
}
ensure_namespace() {
curl -fsS -X POST "http://$NACOS_ADDR/nacos/v1/console/namespaces" \
--data-urlencode "customNamespaceId=$NAMESPACE_ID" \
--data-urlencode "namespaceName=$NAMESPACE_NAME" >/dev/null 2>&1 || true
}
publish_config() {
local group="$1"
local data_id="$2"
local file_path="$3"
echo "publish $group/$data_id"
curl -fsS -X POST "http://$NACOS_ADDR/nacos/v1/cs/configs" \
--data-urlencode "tenant=$NAMESPACE_ID" \
--data-urlencode "group=$group" \
--data-urlencode "dataId=$data_id" \
--data-urlencode "type=yaml" \
--data-urlencode "content@$file_path" >/dev/null
}
wait_nacos
ensure_namespace
publish_config "common" "rds-config.yml" "$CONFIG_DIR/common/rds-config.yml"
publish_config "common" "redis-config.yml" "$CONFIG_DIR/common/redis-config.yml"
publish_config "common" "mongo-config.yml" "$CONFIG_DIR/common/mongo-config.yml"
publish_config "common" "framework-config.yml" "$CONFIG_DIR/common/framework-config.yml"
publish_config "common" "rocketmq.yml" "$CONFIG_DIR/common/rocketmq.yml"
publish_config "common" "external.yml" "$CONFIG_DIR/common/external.yml"
publish_config "common" "external-config.yml" "$CONFIG_DIR/common/external-config.yml"
publish_config "game-fruit" "application.yml" "$CONFIG_DIR/game-fruit/application.yml"
publish_config "rc-service-wallet" "sharding-config.yml" "$CONFIG_DIR/rc-service-wallet/sharding-config.yml"
publish_config "rc-service-console" "rc-service-console-local.yml" "$CONFIG_DIR/rc-service-console/rc-service-console-local.yml"
echo "Nacos 配置导入完成"