erp-java/scripts/update-microservices-config.sh

109 lines
3.1 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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. 启动各微服务"