当前位置:   article > 正文

maven 打包动态环境变量(包括启动脚本)_maven根据环境变量打包

maven根据环境变量打包

maven 打包 动态启动脚本

本文介绍如何通过maven的环境变量动态打包, 并动态改变启动脚本中的环境参数
之前都是每个环境一个启动脚本, 其实启动脚本基本都一样, 只是启动的时候的环境变量不一样, 随着环境越来越多, 这样一个环境一个启动脚本的方式太不优雅了, 每次加环境都得加一份启动脚本, jenkins配置, alibaba cloud开发插件配置每次都得微调一下, 于是寻找是否有可以动态改变脚本内容的方式

前提

maven 打包, 配合 assembly 脚本

maven环境变量(知道这个是怎么回事的直接跳过这部分即可)

设置

pom.xml 文件中加入如下的配置

<profiles>
    <profile>
        <!-- 开发环境 -->
        <id>dev</id>
        <properties>
            <package.environment>dev</package.environment>
        </properties>
    </profile>
<profiles>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • directory : 文件地址(打包的时候去哪里复制这些文件
  • outputDirectory : 输出到哪里(我这里是默认位置)
  • fileMode : 文件权限设置
  • filtered : 这个为true则表示启用动态变量

启动脚本如何写

本文环境变量的keypackage.environment
–spring.profiles.active 后面的环境参数就能根据maven打包命令动态变更了(maven 命令 -P 后面跟的参数)

如下:

nohup java -jar your.jar --spring.profiles.active=${package.environment} -server -Xms512m -Xmx1024m -Xss256k
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/286394
推荐阅读
相关标签
  

闽ICP备14008679号