linux一键部署jar,springboot项目一键部署到Linux服务器

springboot项目开发完成后,发布测试环境,需要经过编译,打包,上传,启动等步骤。

如果采用dockerfile-maven-plugin插件+shell脚本组合使用,就可以实现一键部署。

第1步、Linux安装docker

网上教程很多:略过

第2步、开启docker远程API

vi /usr/lib/systemd/system/docker.service

在 ExecStart,后面添加:-H tcp://0.0.0.0:2375

修改完成后,按esc输入:wq退出

执行命令

systemctl daemon-reload //重新加载配置文件

systemctl restart docker.service //重启docker

第3步、添加dockerfile-maven-plugin插件

在pom.xml文件plugins里面添加

com.spotify

dockerfile-maven-plugin

1.4.0

prefix/${project.artifactId}

${project.version}

${project.basedir}

target/${project.build.finalName}.jar

第4步、编写Dockerfile

在springboot项目的根目录新建Dockerfile文件,添加内容如下:

FROM openjdk:8-jdk-alpine

WORKDIR /app/

VOLUME ["/tmp"]

EXPOSE 8080

ARG JAR_FILE

COPY ${JAR_FILE} app.jar

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"]

第5步、编写脚本

给不同开发平台的开发者使用

Windows开发者

在springboot项目的根目录新建auto-build.bat文件,添加内容如下

@echo off

echo "auto build ready"

set DOCKER_HOST=tcp://Linux服务器IP:2375

echo "set docker host success"

mvn clean package -Dmaven.test.skip=true dockerfile:build

echo "auto build success"

MacOS开发者

在springboot项目的根目录新建auto-build.sh文件,添加内容如下

#!/bin/bash

echo "auto build ready"

DOCKER_HOST=tcp://Linux服务器IP:2375 mvn clean package -Dmaven.test.skip=true dockerfile:build

echo "auto build success"

脚本编写完毕,执行脚本。

第6步、镜像验证

登录Linux服务器,执行

docker images //查看docker镜像

查看springboot项目镜像,如果存在证明编译,打包,上传都成功了,接下来就是启动镜像了

docker run -itd --name 别名 -p 8080:8080 镜像名称 /bin/bash

镜像启动成功后,可以浏览器验证了,如:http://Linux服务器IP:8080

最后来说说这个插件利弊

好处

1、配置简单,环境要求简单,只需要开发者安装JDK、maven(配置jdk环境变量、maven环境变量)

坏处

1、存在安全风险

2、发布不是通过git版本,而是开发者直接发布

分享到此结束,谢谢大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值