java 一键部署 jar 包和 war 包

网友投稿 264 2022-12-13

java 一键部署 jar 包和 war 包

目录java 一键部署 jar 包和 war 包一、创建打包命令 gateway-package.bat二、创建启动文件 gateway.xml三、一键打包并部署脚本 gateway-deploy.bat 文件内容四、双击打包部署 bat 文件 gateway-deploy.bat五、执行 vue 打包并且上传部署六、安装 7z 压缩工具并配置系统环境变量七、创建上传部署文件 webConfig.xml九、双击执行部署 vue-deploy.bat

java 一键部署 jar 包和 war 包

一、创建打包命令 gateway-package.bat

@echo off

cd /d "F:\uincall-cloud-service\uin-api-alibaba\gateway\"

gradle build bootJar

@echo off 关闭命令回显,当不需要 dos 命令一行一行在命令窗口中显示的时候使用,@echo on 显示命令回显

例如:

当为 @echo on 会显示执行的命令

@echo on

title A

color 01

echo %date%

pause

当为 @echo off 并不会执行 title A 和 color 01 命令

echo 是输入提示信息

pause 是暂停执行执行命令,按下任意键后会继续执行,pause 会提示“请按任意键继续...”

当执行的 bat 不在项目目录时,需要进入到项目目录执行打包命令,需要使用 /d 命令,后面是进入的目录

gradle build bootJar 是执行 gradle 打包命令,如果是 maven 工程则使用 maven 打包命令,例如:mvn clean package -Dmaven.test.skip=true

创建项目打包并执行到上传到服务器,并且结束之前项目部署的进程,并启动新的部署命令

二、创建启动文件 gateway.xml

<3;xml version="1.0" encoding="utf-8" ?>

3

1.0.0.0

root

password

F:\uincall-cloud-service\uin-api-alibaba\gateway\build\libs\gateway-1.0.0.jar

/root/data/callcenter

<![CDATA[source /etc/profile; ps -ef | grep gateway-1.0.0.jar | grep -v grep | awk '{print $2}' | xargs kill -9]]>

<![CDATA[source /etc/profile; nohup java -jar /root/data/callcenter/gateway-1.0.0.jar >> /root/data/callcenter/gateway.log 2>&1 &]]>

ps -ef | grep gateway-1.0.0.jar | grep -v grep | awk '{print $2}' | xargs kill -9 查询正在部署的项目进行并且杀死

ps -ef | grep gateway-1.0.0.jar 是查询进程

grep -v grep 过滤包含 grep 的进程行,然后再杀掉剩下的进程

awk '{print $2}' 提取找到的进程行记录中第二列的参数,也就是正在执行项目的进程号

xargs kill -9 把前面的参数都传递给后面的命令 kill -9

三、一键打包并部署脚本 gateway-deploy.bat 文件内容

call gateway-package.bat

java -jar F:\uincall-cloud-service\test-deploy\javaauto.jar F:\uincall-cloud-service\test-deploy\gateway.xml

pause

call gateway-package.bat 是执行上面的项目打包的 gateway-package.bat 文件,call 作用是可以在当前批处理执行前调用另一个批处理文件,这里的意思就是先打包在上传至服务器并且部署

java -jar F:\uincall-cloud-service\test-deploy\javaauto.jar 可执行文件 jar 包,负责执行上传部署指令

F:\uincall-cloud-service\test-deploy\gateway.xml ,上传部署的命gywkdakl令都写在 gateway.xml 中

注意:这里要执行的文件都需使用绝对路径,哪怕在一个文件加里!!!

四、双击打包部署 bat 文件 gateway-deploy.bat

成功上传并且部署成功!!

五、执行 vue 打包并且上传部署

创建 vue 打包 bat 文件 vue-package.bat

@echo off

echo 开始打包......

cd /d "F:\uincall-cloud-service\cc.uincall.com\"

npm run build

echo 打包完毕 success

F:\uincall-cloud-service\cc.uincall.com" 是工程根目录

六、安装 7z 压缩工具并配置系统环境变量

创建 7z 压缩 vue 打包后的 bat 文件 zip.bat

@echo off

set CALLCENTER_PATH=F:\uincall-cloud-service\cc.uincall.com\dist\*

set ZIP_PATH=F:\uincall-cloud-service\deploy\callcenter.tar

echo 开始压缩 callcenter vue

7z a -r %ZIP_PATH% %CALLCENTER_PATH%

set CALLCENTER_PATH=F:\uincall-cloud-service\cc.uincall.com\dist* vue 打包后的文件夹目录,打包后的文件都在此目录下

set ZIP_PATH=F:\uincall-cloud-service\deploy\callcenter.tar 设置打包后的文件名和格式

7z a -r %ZIP_PATH% %CALLCENTER_PATH%,7z:使用 7z 压缩,a:是添加文件到压缩文件中,-r: 包括子目录,其他是引用上面定义的变量,也就是打包后的格式和需要打包的文件所在目录

七、创建上传部署文件 webConfig.xml

3

1.0.0.0

root

password

F:\uincall-cloud-service\deploy\callcenter.tar

/root/data/callcenter/web

<![CDATA[source /etc/profile; chmod 777 /root/data/callcenter/web/callcenter.tar]]>

<![CDATA[source /etc/profile; tar -xvf /root/data/callcenter/web/callcenter.tar -C /root/data/callcenter/web]]>

<![CDATA[source /etc/profile; rm -rf /root/data/callcenter/web/callcenter.tar]]>

<![CDATA[source /etc/profile; nginx -s reload]]>

创建 vue 打包部署 bat 文件 vue-deploy.bat,分别执行上面创建打包 vue-package.bat 压缩 zip.bat 上传部署命令 webConfig.cml

call F:\uincall-cloud-service\test-deploy\vue-package.bat

call F:\uincall-cloud-service\test-deploy\zip.bat

java -jar F:\uincall-cloud-service\test-deploy\javaauto.jar F:\uincall-cloud-service\test-deploy\webConfig.xml

echo 上传并解压完毕

pause

九、双击执行部署 vue-deploy.bat

成功上传并解压

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mybatis修改int型数据无法修改成0的解决
下一篇:java 排序算法之选择排序
相关文章

 发表评论

暂时没有评论,来抢沙发吧~