簡述
在實際情況下我們的業務一般有多種環境例如:測試、准生產、生產環境,由於同一服務不同環境下數據庫等都是分開的,所以項目代碼例如java 就會有多套配置文件,項目代碼在git 倉庫只有一套(多分支),maven 編譯的時候會把所有的配置文件都編譯到jar 包里面,但是啟動的時候就要根據實際環境去選擇配置文件啟動。
方式一
在maven 編譯的時候通過編譯參數傳遞變量到jar 包中
如圖所示為jenkins 配置信息,構建的時候maven 參數里面有-P${mvn_env}這個就是表示生產換進還是測試環境的變量,通過這個變量maven 傳遞給jar 包中的主配置文件
application.properties 中的關於環境的配置,然后通過此配置選擇具體環境的子配置文件來啟動jar 包。
方式二
在啟動jar 包的時候命令行指定環境參數
java -jar /usr/tomcat/webapps/hfax-soul.jar --spring.profiles.active=${ENVIRONMENT}
在啟動的時候通過 --spring.profiles.active= 來指定啟動的環境變量,此參數實際就是覆蓋了application.properties 中的關於此處的配置,然后加載到jar 包的啟動過程,啟動過程就會選擇相應的子配置文件。