前言
手动打包区分各种环境太麻烦,通过springboot+nacos+maven 配置多环境,方便切换。(与maven -P xxx 命令类似但是更方便)
一、如下步骤
1.修改pom.xml 文件
代码如下(示例):
<build>
<!--需要配置该过滤器配合 profile 多环境切换-->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<profiles>
<profile>
<!-- 用于开发环境的配置 -->
<id>development</id>
<!--默认指定dev环境-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<env>dev</env>
<nacosNameSpace>xxxxx</nacosNameSpace>
<nacosAddress>xxxx</nacosAddress>
<nacosUserName>xxx</nacosUserName>
<nacosPassWord>xxx</nacosPassWord>
</properties>
</profile>
<profile>
<!-- 用于测试环境的配置 -->
<id>testing</id>
<properties>
<env>test</env>
<nacosNameSpace>xxxxx</nacosNameSpace>
<nacosAddress>xxxx</nacosAddress>
<nacosUserName>xxx</nacosUserName>
<nacosPassWord>xxx</nacosPassWord>
</properties>
</profile>
<!-- 可以添加更多的配置,比如生产环境 -->
</profiles>
2.配置bootstrap.yml
代码如下(示例):
spring:
application:
name: xxxx-service
cloud:
nacos:
discovery:
server-addr: @nacosAddress@
username: @nacosUserName@
password: @nacosPassWord@
namespace: @nacosNameSpace@
config:
server-addr: @nacosAddress@
username: @nacosUserName@
password: @nacosPassWord@
namespace: @nacosNameSpace@
file-extension: yml
shared-configs:
- dataId: application-xxxx.yml
refresh: true
@xxx@ 这个就可以取到我们在pom.xml中配置的环境变量信息
3.IDEA-maven操作
右侧maven的Profiles 可根据√选择我们想要的环境,然后点击左上角刷新按钮,重新打包或者重启项目即可完成切换环境
Nacos上的配置文件想必大家很容易弄好就不过多展示
总结
提示:这样我们就可以配合Nacos中的namespace 去区分 dev prod test 等环境了,一键切换配置文件