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>
  • 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則表示啓用動態變量

啓動腳本如何寫

本文環境變量的keypackage.environment
–spring.profiles.active 後面的環境參數就能根據maven打包命令動態變更了(maven 命令 -P 後面跟的參數)

如下:

nohup java -jar your.jar --spring.profiles.active=${package.environment} -server -Xms512m -Xmx1024m -Xss256k
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章