提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近在学习ruoyi-cloud框架,发现在部署上线的时候要设置成多环境配置才能区分测试环境、正式环境,从而把代码提交到相应的分支,我是通过配置三个.yml文件来实现的:bootstrap.yml、bootstrap-dev.yml、bootstrap-prod.yml;通过提交不同的配置文件来实现发布不同环境的代码。

一、nacos配置

1.1 以下是导入的ruoyi-cloud的nacos配置

在这里插入图片描述

1.2 创建两个命名空间dev、prod

在这里插入图片描述

1.3 将public命名空间的内容克隆到dev和prod

注意:克隆到dev的内容不变,克隆到prod的内容要修改一下:把dev改成prod如图所示
在这里插入图片描述
在这里插入图片描述

1.4 最终样式

在这里插入图片描述

二、修改ruoyi-cloud工程(以system微服务举例)

2.1 新增两个文件,分别命名bootstrap-dev.yml、bootstrap-prod.yml

在这里插入图片描述
修改内容
bootstrap.yml的内容修改为:

spring:
  profiles:
    #开发环境
    active: dev
    #正式环境
#    active: prod

在这里插入图片描述

2.2 bootstrap-dev.yml的内容复制原bootstrap.yml里面的内容再做如下修改

在这里插入图片描述
最终代码如下:

# Tomcat
server:
  port: 9201

# Spring
spring:
  application:
    # 应用名称
    name: ruoyi-system
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.6.15:8848
        namespace: 798d3a99-ad9d-4c92-952a-08c366685f30
      #        username: nacos
#        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.6.15:8848
#        username: nacos
#        password: nacos
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
        namespace: 798d3a99-ad9d-4c92-952a-08c366685f30

2.3 bootstrap-prod.yml的内容复制原bootstrap.yml里面的内容再做如下修改

在这里插入图片描述
最终代码如下:

# Tomcat
server:
  port: 9201

# Spring
spring: 
  application:
    # 应用名称
    name: ruoyi-system
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.6.15:8848
        namespace: 317f0385-6c56-4cf6-9493-35557a1e4397
      #        username: nacos
#        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.6.15:8848
#        username: nacos
#        password: nacos
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
        namespace: 317f0385-6c56-4cf6-9493-35557a1e4397

三、验证效果

3.1 启动ruoyi-system验证

3.1.1 bootstrap.yml文件选择 dev

在这里插入图片描述

在这里插入图片描述
启动成功。

3.1.2 现在我们换成prod的配置启动,同时修改一下数据库信息(把mysql连接改成错误的,如果连不上则证明切换成功了)

3.1.2.1 切换为prod

在这里插入图片描述

3.2.1.2 启动ruoyi-system(本次不修改nacos里的mysql配置试试)

在这里插入图片描述
可以看到确实启动成功了。

3.2.1.3 现在修改nacos里的mysql配置再试试

在这里插入图片描述

3.2.1.4 启动ruoyi-system的prod配置

在这里插入图片描述
这次启动报错,提示找不到这个xyz的库。
以上,给ruoyi-cloud通过.yml文件配置多环境的验证完成了。
注意:如果在测试过程中连接nacos报错,但配置文件检查又没有问题,则将项目重新构建一遍基本上都能解决!

总结

通过这种配置可以实现,当你提交测试代码的时候就放开微服务bootstrap.yml里面的dev。让代码合并到测试的分支test,当你要提交正式代码的时候就放开微服务bootstrap.yml里面的prod,提交到正式分支master。这样就可以省去很大的麻烦来修改大量的配置,代码打包镜像的时候也不容易出错。这样其他的问题都可以在nacos那里修改了。
当然,配置多环境还有其他方法,大家也可以尝试其他的方法试试!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐