JAVA项目使用maven插件和docker实现自动打包部署运行

2022-08-20 08:26:56

JAVA项目使用maven插件和docker实现自动打包部署运行

此文章使用maven的打包插件maven-assembly-plugin以及docker的打包功能,实现自动打包部署并运行的功能。

其中使用到的工具如下:

  • maven 系统安装并配置完成maven
  • intellij idea 确认安装docker插件并配置好docker连接,确认安装maven插件,并配置好相关配置
  • docker 使用服务器安装docker服务,非windows

工程搭建

创建工程如下图所示:

在这里插入图片描述

创建工程为maven工程,工程主结构包括:

  • assembly文件夹: 包含assembly.xml配置文件,其中包含打包的配置文件
  • bin文件夹:包含启动运行脚本,start.sh脚本请自行搜索
  • java目录:包含java代码

pom文件配置

<dependencies><dependency><groupId>org.apache.curator</groupId><artifactId>curator-client</artifactId><version>4.0.0</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><executions><execution><!-- 配置执行器 --><id>make-assembly</id><phase>package</phase><!-- 绑定到package生命周期阶段上 --><goals><goal>single</goal><!-- 只运行一次 --></goals><configuration><finalName>${project.name}</finalName><descriptor>src/main/assembly/assembly.xml</descriptor><!--配置描述文件路径--></configuration></execution></executions></plugin></plugins></build>

添加了一个curator的包用做测试,主要打包配置在中,打包后的文件名为**${project.name},配置文件路径为src/main/assembly/assembly.xml**。

打包配置文件

<assembly><id></id><formats><format>tar.gz</format><!--打包的文件格式,也可以有:war zip--></formats><!--tar.gz压缩包下是否生成和项目名相同的根目录--><includeBaseDirectory>true</includeBaseDirectory><dependencySets><dependencySet><!--是否把本项目添加到依赖文件夹下--><useProjectArtifact>false</useProjectArtifact><outputDirectory>lib</outputDirectory><!--将scope为runtime的依赖包打包--><scope>runtime</scope></dependencySet></dependencySets><fileSets><fileSet><directory>src/main/bin</directory><outputDirectory>/</outputDirectory><!-- 将start.sh脚本放在打包后的根目录下--></fileSet><fileSet><directory>target/classes</directory><outputDirectory>classes</outputDirectory></fileSet></fileSets></assembly>

配置文件如上图所示,注意将start.sh脚本放在打包后的根目录下。

打包结果展示

运行mvn clean package查看打包结果

在这里插入图片描述
如上图所示,在target文件夹中打包出.tar.gz包,打开压缩包结构:
在这里插入图片描述

通过docker远程部署

如何在intellij idea中配置docker并使用tls连接的方法,将在另外的文章中详述,这里假设docker相关配置都已配置完成并测试连接正常。

编写docker文件如下:

FROM ***

MAINTAINER dreamxiaohai dreamxiaohai@gmail.com

RUN apt-get update && apt-get install openjdk-8-jre -y

ADD target/testPackageAndDocker.tar.gz /usr/local/

RUN chmod +x /usr/local/testPackageAndDocker/start.sh

WORKDIR /usr/local/testPackageAndDocker/

CMD ./start.sh start && tail -f /tmp/result.log

配置intellij idea运行命令
在这里插入图片描述
配置完成后,点击运行,可看到以下结果,证明远程运行无误在这里插入图片描述

  • 作者:梦想小孩
  • 原文链接:https://blog.csdn.net/u012607173/article/details/82754012
    更新时间:2022-08-20 08:26:56