maven 打包 动态启动脚本
本文介绍如何通过
maven
的环境变量动态打包, 并动态改变启动脚本中的环境参数
之前都是每个环境一个启动脚本, 其实启动脚本基本都一样, 只是启动的时候的环境变量不一样, 随着环境越来越多, 这样一个环境一个启动脚本的方式太不优雅了, 每次加环境都得加一份启动脚本, jenkins 配置, alibaba cloud 开发插件配置每次都得微调一下, 于是寻找是否有可以动态改变脚本内容的方式
前提
maven 打包, 配合 assembly
脚本
maven 环境变量(知道这个是怎么回事的直接跳过这部分即可)
设置
在 pom.xml
文件中加入如下的配置
<profiles>
<profile>
<!-- 开发环境 -->
<id>dev</id>
<properties>
<package.environment>dev</package.environment>
</properties>
</profile>
<profiles>
package.environment
: 这个是变量名(你可以直接叫env
等等, 随意)dev
: 中间这个dev
就是环境变量的值(和你的环境配置文件, 配置地址等一致即可)
使用
maven
打包命令加上 -P dev
标识打 dev
环境的包
assembly
配置
在配置脚本中加入如下
<fileSet>
<directory>${project.build.scriptSourceDirectory}</directory>
<outputDirectory></outputDirectory>
<fileMode>0755</fileMode>
<filtered>true</filtered>
<includes>
<include>startup.sh</include>
</includes>
</fileSet>
directory
: 文件地址(打包的时候去哪里复制这些文件outputDirectory
: 输出到哪里(我这里是默认位置)fileMode
: 文件权限设置filtered
: 这个为true
则表示启用动态变量
启动脚本如何写
本文环境变量的 key
为 package.environment
--spring.profiles.active 后面的环境参数就能根据 maven 打包命令动态变更了(maven 命令 -P 后面跟的参数)
如下:
nohup java -jar your.jar --spring.profiles.active=${package.environment} -server -Xms512m -Xmx1024m -Xss256k
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于