109 lines
3.1 KiB
Bash
Executable File
109 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 微服务配置更新脚本
|
||
# 为所有微服务添加bootstrap.yml和更新application.yml
|
||
|
||
SERVICES_DIR="services"
|
||
|
||
# 服务列表
|
||
services=(
|
||
"user-service"
|
||
"product-service"
|
||
"order-service"
|
||
"inventory-service"
|
||
"finance-service"
|
||
"admin-service"
|
||
"file-service"
|
||
"notification-service"
|
||
"tenant-service"
|
||
)
|
||
|
||
# 公共bootstrap.yml模板
|
||
BOOTSTRAP_TEMPLATE='spring:
|
||
application:
|
||
name: ${SERVICE_NAME}
|
||
|
||
cloud:
|
||
nacos:
|
||
config:
|
||
server-addr: ${NACOS_SERVER_ADDR:localhost:8848}
|
||
namespace: ${NACOS_NAMESPACE:public}
|
||
group: ${NACOS_GROUP:DEFAULT_GROUP}
|
||
file-extension: yaml
|
||
shared-configs:
|
||
- data-id: common-config.yaml
|
||
group: DEFAULT_GROUP
|
||
refresh: true
|
||
- data-id: datasource-config.yaml
|
||
group: DEFAULT_GROUP
|
||
refresh: true
|
||
- data-id: redis-config.yaml
|
||
group: DEFAULT_GROUP
|
||
refresh: true
|
||
extension-configs:
|
||
- data-id: ${SERVICE_NAME}-config.yaml
|
||
group: DEFAULT_GROUP
|
||
refresh: true
|
||
|
||
discovery:
|
||
server-addr: ${NACOS_SERVER_ADDR:localhost:8848}
|
||
namespace: ${NACOS_NAMESPACE:public}
|
||
group: ${NACOS_GROUP:DEFAULT_GROUP}
|
||
metadata:
|
||
version: 1.0.0
|
||
zone: ${ZONE:zone1}
|
||
|
||
config:
|
||
import:
|
||
- optional:nacos:common-config.yaml
|
||
- optional:nacos:datasource-config.yaml
|
||
- optional:nacos:redis-config.yaml
|
||
- optional:nacos:${SERVICE_NAME}-config.yaml
|
||
|
||
# 激活配置文件
|
||
profiles:
|
||
active: ${PROFILE:dev}'
|
||
|
||
echo "开始更新微服务配置..."
|
||
|
||
for service in "${services[@]}"; do
|
||
service_dir="$SERVICES_DIR/$service"
|
||
|
||
if [ -d "$service_dir" ]; then
|
||
echo "更新服务: $service"
|
||
|
||
# 创建bootstrap.yml
|
||
echo "$BOOTSTRAP_TEMPLATE" | sed "s/\${SERVICE_NAME}/$service/g" > "$service_dir/src/main/resources/bootstrap.yml"
|
||
|
||
# 更新application.yml - 移除Nacos配置
|
||
if [ -f "$service_dir/src/main/resources/application.yml" ]; then
|
||
# 备份原文件
|
||
cp "$service_dir/src/main/resources/application.yml" "$service_dir/src/main/resources/application.yml.backup"
|
||
|
||
# 移除Nacos配置部分(简单处理,实际可能需要更复杂的处理)
|
||
grep -v "nacos:" "$service_dir/src/main/resources/application.yml" | \
|
||
grep -v "server-addr:" | \
|
||
grep -v "namespace:" | \
|
||
grep -v "file-extension:" > "$service_dir/src/main/resources/application.yml.tmp"
|
||
|
||
mv "$service_dir/src/main/resources/application.yml.tmp" "$service_dir/src/main/resources/application.yml"
|
||
|
||
echo " - 已更新application.yml"
|
||
fi
|
||
|
||
echo " - 已创建bootstrap.yml"
|
||
else
|
||
echo "警告: 服务目录不存在: $service_dir"
|
||
fi
|
||
done
|
||
|
||
echo "微服务配置更新完成!"
|
||
echo ""
|
||
echo "下一步:"
|
||
echo "1. 启动Nacos服务: docker-compose -f nacos/docker-compose.yml up -d"
|
||
echo "2. 在Nacos控制台创建配置:"
|
||
echo " - common-config.yaml"
|
||
echo " - datasource-config.yaml"
|
||
echo " - redis-config.yaml"
|
||
echo " - 各服务的xxx-service-config.yaml"
|
||
echo "3. 启动各微服务" |