本章講講spring boot 專案被jenkins打包到測試環境和正式環境後怎麼自動切換配置檔案的
阿新 • • 發佈:2020-12-31
技術標籤:spring boot不同環境配置切換jenkensspring boot
前言
我們的spring boot專案一般會有三種配置application-dev.properties、application-test.properties、application-prd.properties,有的公司會更多,這種做的目的是為了在切換不同環境的時候使用不同的配置檔案,防止多個環境使用同一個配置檔案改過去改過來出現問題。
像我們公司的環境配置有8種
內容
目前企業中很多都是在用jenkins打包專案到測試環境和正式環境,jenkins在打包的時候可以指定打包環境使用哪種配置。
在jenkins中指定一下執行時使用的環境
mvn clean package -U -Ptest 使用test配置
mvn clean package -U -Pdev 使用dev配置
mvn clean package -U -Pprd 使用prd配置
mvn clean package -U -Popen 使用open配置
相信大家能夠看出來了-P後面就是指定環境配置id,那麼這個id會作用在哪呢?
這個id會作用在專案中的pom.xml檔案中,只要我們的pom.xml檔案中有profiles,在maven打包的時候就會把id傳到這裡面,如果能夠匹配上就會使用對應</env中配置的檔案。當然這只是其中一種辦法,還有很多其他辦法,我這裡就不介紹了。
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<spring.profiles.active>dev</spring.profiles. active>
<env>bootstrap-dev.properties</env>
</properties>
</profile>
<profile>
<id>test</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<spring.profiles.active>test</spring.profiles.active>
<env>bootstrap-test.properties</env>
</properties>
</profile>
<profile>
<id>prd</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<spring.profiles.active>prd</spring.profiles.active>
<env>bootstrap-prd.properties</env>
</properties>
</profile>
</profiles>