主题
打包部署
底座支持离线部署包及docker制品的构建,具体步骤如下。
选择配置文件
在idea的maven工具栏中,选择指定的profile。env-dev
和env-dist
分别对应项目api module的资源目录(src/main/resources/config-env
)下dev
及dist
两个文件中的配置文件。
maven profile选择
配置文件目录
打包插件说明
底座使用maven-assembly-plugin
插件进行打包,package配置文件路径为项目跟路径下的package/package.xml
; package.xml中包含package后的包结构及包的文件格式。
打包
在idea的maven工具栏中,执行根module下Lifecycle中的package即可进行打包。
包结构如下:
非docker环境,即可将上面的制品包上传服务器,解压后通过脚本启动。
注意
git默认会进行换行符自动转换,windows开发环境,注意启动脚本的换行符。如果被自动转化为了windows换行符,通过脚本启动时,会提示文件不存在,需要改为unix换行符LF。 可以通过git相关命令关闭换行符自动转换。
docker制品构建
基于以上步骤构建的部署包,底座提供了对应的Dockerfile,方便进行docker制品的构建。 为了适应jdk基础镜像,项目代码需做简单调整,具体如下:
启动脚本指令集更换
检查项目根路径中的package/bin/startup.sh
、package/bin/env.sh
、package/bin/shutdown.sh
文件中,第一行将#!/bin/sh
改为#!/bin/bash
;
日志输出修改
修改项目根路径中的package/bin/startup.sh
,将控制台输出重定向删除。
修改部署包文件格式
修改项目根路径中的package/package.xml
,将文件格式有zip改为tar.gz。
xml
<formats>
<format>tar.gz</format>
<!--生成同结构的目录, 方便查看, 可选-->
<format>dir</format>
</formats>
Dockerfile修改
run命令由
RUN apt update -y && apt install procps -y && ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone
改为
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone