SpringBoot学习SpringBoot极简教程 · Spring Boot Tool

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

2017-09-12  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读