profile分环境配置流程

一. 背景

为解决资源文件中配置参数不一致导致的git分枝不统一问题(如qa环境定制化配置),减少代码合并复杂度,降低出错概率,故使用profile进行分环境配置。

二. 操作流程

  1. 分环境目录创建

根据不同环境新建不同的目录resources.local、resources.prod,并将文件及目录拷贝到相应目录下,并根据环境修改相应的配置,详细如下

2. pom.xml修改

a. 配置profiles

每个profile为一个环境配置,其中参数包括

id:环境的唯一标识

properties: 环境属性,可用于后续提供编译参数

activation:true默认参数启动环境


  相关核心片段如下:

<profiles>
    <!-- 测试环境 -->
    <profile>
        <id>dev</id>
        <properties>
            <env_config>local</env_config>
        </properties>
        <distributionManagement>
            <repository>
                <id>central</id>
                <name>local and develop environment private nexus test snapshots</name>
                <url>http://。。。</url>
            </repository>
            <snapshotRepository>
                <id>snapshots</id>
                <name>local private nexus test snapshots</name>
                <url>http://。。。</url>
            </snapshotRepository>
        </distributionManagement>
    </profile>
   
    <!--QA 环境-->
    <profile>
        <id>qa</id>
        <properties>
            <env_config>local</env_config>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <distributionManagement>
            <repository>
                <id>central</id>
                <name>qa environment private nexus releases</name>
                <url>http://...</url>
            </repository>
            <snapshotRepository>
                <id>snapshots</id>
                <name>qa environment private nexus snapshots</name>
                <url>http://...</url>
            </snapshotRepository>
        </distributionManagement>
    </profile>
    <!-- 生产环境 -->
    <profile>
        <id>prod</id>
        <properties>
            <env_config>prod</env_config>
        </properties>
        <distributionManagement>
            <repository>
                <id>**-nexus-releases</id>
                <name>prod environment private nexus releases</name>
                <url>http://...</url>
            </repository>
            <snapshotRepository>
                <id>**-nexus-snapshots</id>
                <name>prod environment private nexus snapshots</name>
                <url>http://...</url>
            </snapshotRepository>
        </distributionManagement>
    </profile>
</profiles>

b. <build>配置

此部分是配置打包的资源文件,其资源调用参数由profile的属性env_config提供,具体如下:

< build >
     < resources >
         < resource >
             < directory >${project.basedir}/src/main/resources</ directory >
         </ resource >
         < resource >
             < directory >src/main/resources.${env_config}</ directory >
         </ resource >
     </ resources >
</ build >

3. jar包部署命令

mvn -Pid clean deploy,其中id为profile中的实际id值






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值