springboot maven 多環境配置 jenking構建發佈配置 原

在後端開發中,應用程序在不同的環境可能會有不同的配置,例如數據庫連接、日誌級別等,開發,測試,生產每個環境可能配置都不一致。

使用Spring Boot的Profile可以實現多場景下的配置切換,方便開發中進行測試和部署生產環境。 下面就大致介紹一下yml配置文件跟properties配置文件怎麼使用profile配置不同環境的配置文件。廢話不多說,直接幹!

開發環境

  • JDK 1.8
  • Maven 3.x
  • Spring Boot 1.5.8
  • STS

第一步:先解決springboot開發環境和生產環境不一樣的配置問題

application-dev.yml

#development environment

spring :

    profiles: dev

server:

    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 Profile

如果我們使用的是構建工具是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

到這裏就完事了,有不懂歡迎下方留言!喜歡就點個贊吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章