美文网首页SpringBoot学习SpringBoot极简教程 · Spring Boot Tool
springboot学习之maven多环境打包的几种方式

springboot学习之maven多环境打包的几种方式

作者: _奔波儿灞_ | 来源:发表于2017-09-12 11:04 被阅读2670次

    在应用部署的时候,往往遇到需要发布到不同环境的情况,而每个环境的数据库信息、密钥信息等可能会存在差异。

    如果是单独环境直接可以通过:

     mvn clean package 
    

    来进行打包部署。
    针对于多环境,例如我的eureka-server注册中心项目就涉及到了

    Paste_Image.png

    多个运行环境:测试,开发,master,backup...

    backup:

    server.port=8762
    
    spring.application.name=buddhism-eureka-server
    #这里配置注册中心的集群 本项目为 backup ,master启动端口 8761
    eureka.instance.hostname=backup
    #通过eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.
    eureka.client.register-with-eureka=false
    eureka.client.fetch-registry=false
    #这里配置的是master的地址
    eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka/
    
    #logging.path=/usr/tools/publish-project/log/${spring.application.name}/backup.log
    logging.path=C:\\Users\\10348\\Desktop\\log\\xinduhui-logback.log
    
    spring.profiles=backup
    

    master:

    server.port=8761
    
    #如果放到一台 eureka不认为是集群  集群最好奇数
    spring.application.name=buddhism-eureka-server
    #这里配置注册中心的集群 本项目为 backup ,master启动端口 8761
    eureka.instance.hostname=master
    #通过eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.
    eureka.client.register-with-eureka=false
    eureka.client.fetch-registry=false
    #这里配置的是master的地址
    eureka.client.service-url.defaultZone=http://127.0.0.1:8762/eureka/
    
    #logging.path=/usr/tools/publish-project/log/${spring.application.name}/backup.log
    logging.path=C:\\Users\\10348\\Desktop\\log\\xinduhui-logback.log
    
    
    spring.profiles=master
    

    那么我们怎么针对不同的环境进行打包部署呢?
    1.在默认的application.properties或者yaml中设置profile

    spring.profiles.active=@spring.profiles@
    #低版本的springboot中application.properties中的参数写法为 ${param}
    #我目前测试过的在Spring Boot 1.3.0.RELEASE及以上版本中必须使用格式 @param@才能生效
    
    

    打包命令:

    mvn clean package -Pprod
    #或者
    mvn clean package -Dspring.profiles=prod
    

    命令解释:

    -D,--define <arg>                      定义系统属性
    -P,--activate-profiles <arg>           激活指定的profile文件列表(用逗号[,]隔开)
    

    这样的话,多环境按需求选择环境打包就成功了。O(∩_∩)O

    相关文章

      网友评论

        本文标题:springboot学习之maven多环境打包的几种方式

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