美文网首页
使用yml多环境配置和创建多环境profile打包 spring

使用yml多环境配置和创建多环境profile打包 spring

作者: 万事俱备就差一个程序员了 | 来源:发表于2022-07-09 19:04 被阅读0次

    1、yml多环境配置

    在Spring Boot中多环境配置文件名需要满足application-{profile}.yml的格式,其中{profile}对应你的环境标识;

    application-dev 开发环境

    application-test 测试环境

    application-prod 生产环境

    1

    2

    3

    如果我们要激活某一个环境,只需要在 application.yml里:

    spring:

      profiles:

        active: dev

    1

    2

    3

    此外,假设我们配置一些基本设置如:

    application-dev.yml

    server:

      port: 9001

    1

    2

    application-test.yml

    server:

      port: 9002

    1

    2

    application-prod.yml

    server:

      port: 9003

    1

    2

    此时,当我们去修改application.yml:

    改为 dev

    改为 test

    改为 prod

    2、创建多环境profile打包

    通过上述步骤,可以轻松切换当前环境,不过也稍微有些麻烦,那是否有一些配置文件可以代替手动更改profile并且能创建多环境profile打包呢?

    答案是肯定的

    1

    pom.xml

    pom文件中添加profile节点,并在build下的resources节点添加打包过滤的配置文件规则

        <profiles>

            <profile>

                <!-- 开发环境 -->

                <id>dev</id>

                <properties>

                    <profileActive>dev</profileActive>

                </properties>

                <!-- 默认激活的环境 -->

                <activation>

                    <activeByDefault>true</activeByDefault>

                </activation>

            </profile>

            <profile>

                <!-- 测试环境 -->

                <id>test</id>

                <properties>

                    <profileActive>test</profileActive>

                </properties>

            </profile>

            <profile>

                <!-- 生产环境 -->

                <id>prod</id>

                <properties>

                    <profileActive>prod</profileActive>

                </properties>

            </profile>

        </profiles>

        <build>

            <resources>

                <resource>

                    <directory>src/main/resources</directory>

                    <includes>

                        <include>application-${profileActive}.yml</include>

                        <include>application.yml</include>

                        <include>**/*.xml</include>

                    </includes>

                    <filtering>true</filtering>

                </resource>

                <resource>

                    <directory>src/main/java</directory>

                    <includes>

                        <include>**/*.xml</include>

                    </includes>

                </resource>

            </resources>

        </build>

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    在application.yml中配置一个动态属性进行占位,默认的分隔符是@属性名@,这个属性会通过maven打包时传入参数进行替换;

    spring:

      profiles:

        active: @profileActive@

    1

    2

    3

    右侧的可视化选择环境,让工作更加变得高效;

    maven 多环境打包

    打包过滤配置文件规则也是用一个占位符进行占位,打包时也会通过maven传入参数进行替换。

    1、通过 -D命令传入属性值profileActive,如:

    clean install -Dmaven.test.skip=true -DprofileActive=dev

    1

    2、通过-P命令指定profile环境,如:

    clean package -P prod

    1

    右侧可视化选择更加方便:

    🆗闲话不多说,好了,这一小章到此结束;

    代码仓库地址:点击进入

    ————————————————

    版权声明:本文为CSDN博主「解忧杂货铺Q」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/qq_26003101/article/details/110877736

    相关文章

      网友评论

          本文标题:使用yml多环境配置和创建多环境profile打包 spring

          本文链接:https://www.haomeiwen.com/subject/jtdibrtx.html