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

到这里就完事了,有不懂欢迎下方留言!喜欢就点个赞吧。

猜你喜欢

转载自my.oschina.net/u/593517/blog/1944485