在项目的部署当中,难免牵涉到开发环境、测试环境以及生产环境的切换,如果缺失一套良好的项目构建以及部署方案,那么我们很容易因为反复修改配置文件而酿成开发事故,毕竟线上和测试的配置很多不同。所以拥有一套比较良好的项目构建和部署方案是必须的。
目前构建项目是用Maven来进行的。Maven提供Profile功能来满足项目的可移植性构建的需求。
以下简单说下我的项目的配置。
该工程采用了Maven进行构建,同时采用Spring作为工程框架。在开发到产品上线这个过程中,产品会分别部署在开发环境、测试环境以及生产环境中(当然这是我的相关部署环境,其他项目可以根据自己的需要进行划分)。在这三种环境下,应该拥有自己所属的配置文件。
可移植构建的一个基本思路是让项目运行的过程中选择正确的配置文件进行加载。根据这个基本思路,我们可以让项目构建的时候只包含对应环境的配置文件,比如我们需要构建线上环境的War包,只需要build的时候,让War里面只含有Online文件夹下的配置文件即可,其他的不打包。
在工程目录resource文件夹下,分别建立三个文件夹dev、test以及online,然后放置对应环境的配置文件,配置文件最好以properties作为后缀。
同时,我们在Maven的POM.xml写上我们的配置策略。
<profiles>
<profile>
<id>test</id>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*