在後端開發中,應用程序在不一樣的環境可能會有不一樣的配置,例如數據庫鏈接、日誌級別等,開發,測試,生產每一個環境可能配置都不一致。java
使用Spring Boot的Profile能夠實現多場景下的配置切換,方便開發中進行測試和部署生產環境。 下面就大體介紹一下yml配置文件跟properties配置文件怎麼使用profile配置不一樣環境的配置文件。廢話很少說,直接幹!spring
第一步:先解決springboot開發環境和生產環境不同的配置問題數據庫
application-dev.yml後端
#development environmentspringboot
spring :服務器
profiles: devapp
server:maven
port: 8160工具
my:測試
name: ricky
application-pro.yml
#production environment
spring :
profiles: pro
server:
port: 8161
my:
name: ricky
application.yml
# 不一樣環境下的配置文件引用
spring:
profiles:
active: dev
若是咱們使用的是構建工具是Maven,也能夠經過Maven的profile特性來實現多環境配置打包。
pom.xml配置以下:
<profiles> <!--開發環境--> <profile> <id>dev</id> <properties> <build.profile.id>dev</build.profile.id> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <!--生產環境--> <profile> <id>prod</id> <properties> <build.profile.id>pro</build.profile.id> </properties> </profile> </profiles>
若是是部署到服務器的話,咱們正常打成jar包,啓動時經過 --spring.profiles.active=xxx
來控制加載哪一個環境的配置,完整命令以下:
java -jar xxx.jar --spring.profiles.active=dev 表示使用測試環境的配置 java -jar xxx.jar --spring.profiles.active=pro 表示使用生產環境的配置
經過修改application.yml中 active: 後面是pro仍是dev來改變配置.
而寫在application.yml中的兩種環境下均可以用,如數據庫的配置.
第三步:jenking中構建MAVEN指令
clean package install -Dmaven.test.skip=true -Ptest -DprofileActive=pro -U
到這裏就完事了,有不懂歡迎下方留言!喜歡就點個贊吧。