美文网首页程序员
springboot部署测试环境和生产环境

springboot部署测试环境和生产环境

作者: PandoraHearts | 来源:发表于2019-03-15 10:57 被阅读0次

    我们在日常开发工作经常会根据不同的项目运行环境,添加不同的配置文件,例如:
    开发环境,测试环境,生产环境等。
    配置springboot的application.properties或aoolication.yml配置文件的spring.profiles.active属性

    开发环境

    IDEA
    Maven

    配置文件

    由于springboot会默认加载application配置文件,所以我们需要在application修改配置参数。
    以下为application.yml文件格式

    spring
      profiles
        active: dev
    

    这段配置代码的意思是,spingboot会加载项目中的名字为application-dev的配置文件。
    所以如果需要在打包时打包生产环境的包,那么创建一个名为application-prod.yml的配置文件,然后修改application.yml如下:

    spring
      profiles
        active: prod
    

    这样就可以区分打包生产环境和测试环境了

    Maven

    由于每次打包都需要手动修改application配置文件,会很麻烦并且不安全,并且大多数项目都是使用maven,所以集成maven可以使我们方便很多。

    先配置pom.xml:

    <!-- 在maven中添加如下配置 -->
    <profiles>
            <profile>
                <!-- 测试环境 -->
                <id>test</id>
                <properties>
                    <profiles.active>test</profiles.active>
                </properties>
            </profile>
            <profile>
                <!-- 生产环境 -->
                <id>prod</id>
                <properties>
                    <profiles.active>prod</profiles.active>
                </properties>
            </profile>
        </profiles>
    

    对这段代码做下说明,首先在maven中配置了两个环境的配置文件,一个测试环境test,一个生产环境prod;
    其中
    <profiles.active></profiles.active>是变量的key,test是变量的value

    接下来在application中引用该变量

    spring
      profiles
        active: @profiles.active@   <!-- 这里引用的是pom.xml中配置的key -->
    

    然后新建一个名为application-prod.yml的配置文件,执行maven打包指令

    mvn package -Ptest #打测试包,其中test为pom.xml中配置的id
    mvn package -Pprod #打生产包
    

    问题

    1.=='@' that cannot start any token. (Do not use @ for indentation)
    在本地启动该项目时有时候会报如下错误

    found character '@' that cannot start any token. (Do not use @ for indentation)
     in 'reader', line 4, column 11:
            name: @profiles.active@
    

    意思是识别不了@profiles.active@这个变量,这是因为这个变量没有被替换成我们需要的参数,如test,prod等,所以在本地启动时要加上参数启动,这样springboot会自动替换掉这个变量。

    作者使用的是idea,所以启动springboot时在右上Edit Configurations-->Active Profiles 增加一个参数,参数值为你需要运行的环境名称,如test


    image.png

    相关文章

      网友评论

        本文标题:springboot部署测试环境和生产环境

        本文链接:https://www.haomeiwen.com/subject/nwakmqtx.html