项目开发到了测试和上生产的环境后就需要考虑配置文件的变更了,比如数据库密码本地和生产环境肯定会不一样。
如果当前只有一个项目还好,但是随着分布式的兴起,项目会被拆分成若干个微服务项目。项目可能会有10个甚至更多。
这么多的项目分开部署,如何“一键”切换配置就成了迫在眉睫的问题了。
1.在分布式配置服务对应的gitlab远程库中添加两个文件夹

然后把你的yml配置文件存放到这两个文件夹中。
2.在分布式配置的微服务项目中,yml配置文件改成:

3.这三个配置文件中的内容分别是:
(1)bootstrap.yml----其中active表示将来会加载哪个配置文件
spring:
profiles:
active: local(2)bootstrap-local.yml----search-paths表示会在远程库的哪个文件夹中加载配置
spring:
application:
name: config-server
cloud:
config:
label: master
server:
git:
uri: git@gitlab.com:alanWang9999/springcloud-config-demo.git
clone-on-start: true
search-paths: local
server:
port: 8888
(3)bootstrap-test.yml----search-paths表示会在远程库的哪个文件夹中加载配置
spring:
application:
name: config-server
cloud:
config:
label: master
server:
git:
uri: git@gitlab.com:alanWang9999/springcloud-config-demo.git
clone-on-start: true
search-paths: test
server:
port: 8888
3.打包启动时,如果需要切换环境有两种方法切换
(1)可以直接修改bootstrap.yml的active属性
(2)或者通过命令行启动,通过-Dspring.profiles.active参数来指定加载哪个环境的配置
java -Dspring.profiles.active=test -jar config-service-1.0-SNAPSHOT.jar
本文介绍了一种在分布式环境中实现配置文件一键切换的方法。通过在远程仓库中存储不同环境的配置文件,并利用Spring Cloud Config Server的功能,可以轻松地为多个微服务项目提供统一的配置管理方案。文中详细解释了配置文件的组织方式以及如何通过修改特定设置来快速切换环境。
167

被折叠的 条评论
为什么被折叠?



