最近一个高性能API项目中需要针对DEV,STG,PRO三个环境实现定制化部署。
背景:这三个环境的依赖,file path等存在各自的差异,CI,CD的时候需要按照不同的环境定制话不同的部署(主要是不同的环境,项目的配置文件不同)。
其实这个是违背CI,CD的产品包与配置文件相独立这个原则的。
HowTo
链接:http://maven.apache.org/plugins/maven-assembly-plugin/
assembly插件与pom文件结合使用
1, 配置profile
<profiles>
<profile>
<id>dev</id>
<properties>
<app.env>dev</app.env>
<confDir>src/main/conf/env/local</confDir>
<testTargets>com/..../itemapi/*Test*.java</testTargets>
</properties>
</profile>
<profile>
<id>stg</id>
<properties>
<app.env>stg</app.env>
<confDir>src/main/conf/env/