一、场景
二、思路
三、实战
▶ 2.1、项目 jar 包解压获取 lib + config
Stage 1:正常打包获取 jeecg-system-start-3.6.0.jar
Stage 2:解压 获取如下文件
Stage 3:获取 lib + config
▶ 2.2、获取简化版项目jar包
Stage 1:修改pom.xml文件移除lib
Stage 2:打包项目
▶ 2.3 编写dockerfile
▶ 2.4 将文件上传到服务器下
▶ 2.5 创建并运行容器(启动项目)
四、思考
一、场景
-
docker-compose 部署
-
Spring boot 项目几百M
-
问题:如何缩小项目jar包
二、思路
将依赖库提前打包即可
三、实战
▶ 2.1、项目 jar 包解压获取 lib + config
Stage 1:正常打包获取 jeecg-system-start-3.6.0.jar
Stage 2:解压 获取如下文件
jar xvf jeecg-system-start-3.6.0.jar
Stage 3:获取 lib + config
-
将 BOOT-INF 下的 lib 包拿出单独存放
-
将 BOOT-INF\classes 下的 yml 文件存放到 config
▶ 2.2、获取简化版项目jar包
Stage 1:修改pom.xml文件移除lib
<!--方案一:常规Jar部署方案-->
<!-- <build>-->
<!-- <plugins>-->
<!-- <plugin>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-maven-plugin</artifactId>-->
<!-- </plugin>-->
<!-- </plugins>-->
<!-- </build>--><!--方案二:JAR分离打包部署--><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><layout>ZIP</layout><includes><include><groupId>nothing</groupId><artifactId>nothing</artifactId></include></includes></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
Stage 2:打包项目
- IDEA中 -- Maven -- 运行 clean -- install -- 获取 jeecg-system-start-3.6.0.jar
▶ 2.3 编写dockerfile
FROM openjdk:8
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./config /config
COPY ./lib /lib
ADD jeecg-system-start-3.6.0.jar jeecg-system-start-3.6.0.jar
ENTRYPOINT ["java","-Dloader.path=/lib","-jar","jeecg-system-start-3.6.0.jar"]
▶ 2.4 将文件上传到服务器下
▶ 2.5 创建并运行容器(启动项目)
# 进入上一步上传的目录下cd /mnt/docker/jeecgboot3.6/# 启动项目docker-compose up -d --build
四、思考
jenkins 和 k8s 部署时lib 库如何管理 (后期补上)