19de7e24ec
从 docs-local 迁移以下文档: - backend/guides/: AI开发环境配置、Nacos配置、GitNexus指南、OpenCode工作流等 - backend/templates/: Superpowers设计模板、计划模板、审查清单 - backend/config-templates/: 应用配置模板、Nacos配置 - backend/design/: 数据库表结构规划 - backend/specs/: 项目文档治理、MQ统一推送设计 - backend/: 代码分析报告、Feign分析报告、文档治理报告 - frontend/design/: Admin-UI分模块打包设计
3.9 KiB
3.9 KiB
Nacos 配置管理规范
1. 配置分类
| 配置类型 | 文件位置 | 是否推送 Nacos | 说明 |
|---|---|---|---|
| 本地开发配置 | config/application-dev.yml |
❌ 不推送 | 本地环境专属,已加入 .gitignore |
| Nacos 配置文件 | docs/nacos/*.yaml |
✅ 必须推送 | 所有服务的 Nacos 配置源文件 |
| 应用模板 | docs/application-template.yml |
❌ 不推送 | 新建模块的模板,不直接推送 |
2. 核心规则
规则 1:修改必须推送
除 config/application-dev.yml 外,任何对 docs/nacos/*.yaml 的修改必须推送至 Nacos 服务器。
⚠️ 禁止行为:只修改本地文件不推送。这会导致:
- 本地测试正常,线上环境异常
- 多人协作时配置不同步
- 生产环境使用旧配置,引发故障
规则 2:统一推送脚本
使用根目录 push-nacos-config.sh 统一推送:
# 推送所有配置(推荐,确保所有配置同步)
bash push-nacos-config.sh
# 只推送单个配置(快速修复时)
bash push-nacos-config.sh rui-common.yaml
规则 3:推送前检查清单
推送前请确认:
- 配置文件语法正确(YAML 格式)
- 敏感信息使用
${}环境变量注入,不硬编码 - 端口配置与
项目实施规范.md一致 - 修改内容已 git commit
规则 4:推送后验证
推送后必须验证配置是否生效:
# 1. 查看 Nacos 控制台确认配置已更新
# 2. 重启对应服务使配置生效
# 3. 检查服务日志确认配置加载成功
3. 配置文件说明
3.1 公共配置(rui-common.yaml)
| 配置项 | 说明 | 示例 |
|---|---|---|
spring.data.redis |
Redis 连接配置 | host、port、password |
spring.jackson |
JSON 序列化配置 | date-format、time-zone |
security.oauth2.ignore-urls |
免认证 URL 白名单 | /entry/**、/actuator/** |
feign.providers |
Feign 服务名映射 | user、system、auth |
3.2 数据配置(rui-data.yaml)
| 配置项 | 说明 |
|---|---|
spring.datasource |
MySQL + Druid 连接池配置 |
mybatis-plus |
MyBatis Plus 全局配置 |
3.3 网关配置(rui-gateway.yaml)
| 配置项 | 说明 |
|---|---|
spring.cloud.gateway.routes |
路由规则 |
grayscale |
灰度发布规则 |
3.4 服务专属配置(rui-service-*.yaml)
| 配置项 | 说明 |
|---|---|
server.port |
服务端口 |
4. 命名空间与分组
| 环境 | 命名空间 | Group |
|---|---|---|
| 开发环境 | rui-dev |
DEFAULT_GROUP |
| 测试环境 | rui-test |
DEFAULT_GROUP |
| 生产环境 | rui-prod |
DEFAULT_GROUP |
推送脚本默认使用
rui-dev,生产环境推送需手动指定命名空间。
5. 常见问题
Q1: 为什么修改了本地配置但服务没变化?
因为 Spring Cloud 应用启动时会从 Nacos 拉取配置,本地修改不影响运行中的服务。必须推送至 Nacos 后重启服务才能生效。
Q2: 可以同时修改多个配置吗?
可以,但建议每次只修改一个配置文件,避免推送时出错难以排查。
Q3: 推送失败怎么办?
检查以下几点:
- Nacos 服务器是否可访问(
http://192.168.31.210:8848)- 用户名密码是否正确(默认 nacos/nacos)
- 命名空间是否存在(rui-dev)
- YAML 格式是否正确(缩进、特殊字符等)
Q4: 如何回滚配置?
Nacos 控制台支持配置历史版本回滚,或手动将旧配置内容重新推送。
6. 最佳实践
- 先修改本地文件 → 测试验证 → git commit → 推送 Nacos → 重启服务
- 多人协作时,推送前先看一眼 Nacos 控制台的当前配置,避免覆盖他人修改
- 生产环境配置修改建议先修改测试环境验证,再同步到生产
- 定期备份 Nacos 配置(导出为文件存档)