
如果让 springboot 去管理,那就要打包各个环境的配置在一个包里,让 springboot 根据一些 convention 去区分开不同的 profile ,但是这样感觉不太安全。
如果让 maven 去管理的话,每个环境一个配置文件,但是又总是会有一些公共的配置,每次改动要改好几个文件。
各位彦祖有啥好办法
1 Vkery 2024 年 5 月 9 日 nacos? |
2 qinxi 2024 年 5 月 9 日 但是这样感觉不太安全. 不如说说怎么不安全? spring 自身的 profile 就是用来干这个的, 敏感数据用环境变量就是了. |
3 mango88 2024 年 5 月 9 日 公共的放 application.yml 环境特定的放 application-${spring.profiles.active}.yml |
4 cslive 2024 年 5 月 9 日 直接配置中心,服务器设置环境变量,不同环境写入不同环境变量 |
5 cookii 2024 年 5 月 9 日 via Android 放在 k8s 里 |
6 28Sv0ngQfIE7Yloe 2024 年 5 月 9 日 k8s configMap |
7 chaos93 2024 年 5 月 9 日 试试我的: http://42.192.143.114:23482/chat/ZM7TOinOY29cUTUA 问问 AI |
8 vczyh 2024 年 5 月 9 日 就一个配置文件,然后注入环境变量,例如: data: redis: host: ${REDIS_HOST:127.0.0.1} username: ${REDIS_USER:default} password: ${REDIS_PWD:123} |
9 yuanxiaosong 2024 年 5 月 9 日 不使用 spring cloud/docker/k8s 管理配置 1. 使用外部 env 文件管理: application.yml ``` spring: config: import: optional:file:.env[.properties] datasource: url: ${DATASOURCE_URL:jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezOne=GMT%2B8} username: ${DATASOURCE_USERNAME:root} password: ${DATASOURCE_PASSWORD:root} ``` .env ``` DATASOURCE_USERNAME=test DATASOURCE_PASSWORD=test ``` 优先使用 env 中的值,如果 env 中未找到对应值,则使用 yml 中的值,根据不同环境指定不同的 env 文件; 2. 启动时候通过启动参数配置 java -jar xxx.jar --spring.datasource.username=test --spring.datasource.password=test |
10 hekouwang123 2024 年 5 月 9 日 我们之前用的 apollo ,挺好用的 |
11 guozi1117 2024 年 5 月 9 日 apollo 或者 nacos |
12 nekoneko 2024 年 5 月 9 日 配置中心那么多, 随便选一个 |
13 cheng6563 2024 年 5 月 9 日 SpringBoot 天生自带配置文件合并,还要怎么管,生产服务器上放一份生产配置完事。 |
14 CQCQCQ 2024 年 5 月 9 日 源码仍然采用 application.yml + application-${spring.profiles.active}.yml 方式, 打包的时候根据 profile 忽略掉其他环境的配置,不同环境 jar 就只包含公共 yml+自身的 yml 了 |
18 paynezhuang 2024 年 5 月 9 日 @xliao 来破配置参考参考 ![]() |
21 50uvSXwxskcmrcXy 2024 年 5 月 10 日 @chaos93 dify? |
22 ufan0 2024 年 5 月 10 日 @chaos93 #17 一般市场价都能接受。怎么联系。 |
23 hai046 2024 年 5 月 10 日 了解一下微服务中配置中心,可以单独去了解配置中心 apollo/nacos 即可。 |