gpt4 book ai didi

java 一键部署 jar 包和 war 包

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 45 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章java 一键部署 jar 包和 war 包由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

  。

java 一键部署 jar 包和 war 包

  。

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

@echo offcd /d "F:uincall-cloud-serviceuin-api-alibabagateway"gradle build bootJar
  • @echo off 关闭命令回显,当不需要 dos 命令一行一行在命令窗口中显示的时候使用,@echo on 显示命令回显

例如:

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

@echo ontitle  Acolor 01echo %date%pause

java 一键部署 jar 包和 war 包

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

java 一键部署 jar 包和 war 包

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

  • 当执行的 bat 不在项目目录时,需要进入到项目目录执行打包命令,需要使用 /d 命令,后面是进入的目录
  • gradle build bootJar 是执行 gradle 打包命令,如果是 maven 工程则使用 maven 打包命令,例如:mvn clean package -Dmaven.test.skip=true
  •  

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

  。

2、创建启动文件 gateway.xml

<?xml version="1.0" encoding="utf-8" ?><config>    <threadPoolSize default="5">3</threadPoolSize><!--线程池大小,如果上传服务器多的话可以调大,默认5个线程-->    <servers>        <server>            <!--  服务器 ip -->            <host>1.0.0.0</host>            <!--  服务器用户名  -->            <userName>root</userName>            <!--  服务器密码  -->            <password>password</password>            <!--  上传的文件,可以有多个  -->            <uploads>                <upload>                    <!--  上传的包路径  -->                    <local>F:uincall-cloud-serviceuin-api-alibabagatewayuildlibsgateway-1.0.0.jar</local>                    <!--  上传到服务器的路径  -->                    <remote>/root/data/callcenter</remote>                </upload>            </uploads>            <!--  需要执行的命令,可以有多个 -->            <commands>                <!--  结束之前部署的进程  -->                <command><![CDATA[source /etc/profile; ps -ef | grep gateway-1.0.0.jar | grep -v grep | awk "{print $2}" | xargs kill -9]]></command>                <!--  重新部署新上传的包  -->                <command><![CDATA[source /etc/profile; nohup java -jar /root/data/callcenter/gateway-1.0.0.jar >> /root/data/callcenter/gateway.log 2>&1 &]]></command>            </commands>        </server>    </servers></config>
  • 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}" 提取找到的进程行记录中第二列的参数,也就是正在执行项目的进程号

java 一键部署 jar 包和 war 包

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

  。

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

call gateway-package.batjava -jar F:uincall-cloud-service	est-deployjavaauto.jar F:uincall-cloud-service	est-deploygateway.xmlpause
  • call gateway-package.bat 是执行上面的项目打包的 gateway-package.bat 文件,call 作用是可以在当前批处理执行前调用另一个批处理文件,这里的意思就是先打包在上传至服务器并且部署
  • java -jar F:uincall-cloud-service est-deployjavaauto.jar 可执行文件 jar 包,负责执行上传部署指令
  • F:uincall-cloud-service est-deploygateway.xml ,上传部署的命令都写在 gateway.xml 中

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

  。

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

java 一键部署 jar 包和 war 包

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

java 一键部署 jar 包和 war 包

  。

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

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

@echo offecho 开始打包......cd /d "F:uincall-cloud-servicecc.uincall.com"npm run buildecho 打包完毕  success

F:uincall-cloud-servicecc.uincall.com" 是工程根目录 。

  。

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

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

@echo offset CALLCENTER_PATH=F:uincall-cloud-servicecc.uincall.comdist*set ZIP_PATH=F:uincall-cloud-servicedeploycallcenter.tarecho 开始压缩  callcenter vue7z a -r %ZIP_PATH% %CALLCENTER_PATH%
  • set CALLCENTER_PATH=F:uincall-cloud-servicecc.uincall.comdist* vue 打包后的文件夹目录,打包后的文件都在此目录下
  • set ZIP_PATH=F:uincall-cloud-servicedeploycallcenter.tar 设置打包后的文件名和格式
  • 7z a -r %ZIP_PATH% %CALLCENTER_PATH%,7z:使用 7z 压缩,a:是添加文件到压缩文件中,-r: 包括子目录,其他是引用上面定义的变量,也就是打包后的格式和需要打包的文件所在目录

  。

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

<config>    <threadPoolSize default="5">3</threadPoolSize><!--线程池大小,如果上传服务器多的话可以调大,默认5个线程-->    <servers>        <server>            <!--  服务器 ip -->            <host>1.0.0.0</host>            <!--  服务器用户名 -->            <userName>root</userName>            <!-- 服务器密码  -->            <password>password</password>            <!--  上传的文件,可以有多个 -->            <uploads>                <upload>                    <!--  上传的文件 -->                    <local>F:uincall-cloud-servicedeploycallcenter.tar</local>                    <!--  上传到服务器的目录 -->                    <remote>/root/data/callcenter/web</remote>                </upload>            </uploads>            <!-- 上传成功后执行的命令  -->            <commands>                <!--  添加 777 权限 -->                <command><![CDATA[source /etc/profile; chmod 777 /root/data/callcenter/web/callcenter.tar]]></command>                <!--  解压 -C 表示创建新的档案文件,会解压到新的目录,默认解压到根目录 / -->                              <command><![CDATA[source /etc/profile; tar -xvf /root/data/callcenter/web/callcenter.tar -C /root/data/callcenter/web]]></command>                <!-- 解压完删除压缩文件 -->                <command><![CDATA[source /etc/profile; rm -rf /root/data/callcenter/web/callcenter.tar]]></command>                <!--  刷新 nginx -->                <command><![CDATA[source /etc/profile; nginx -s reload]]></command>            </commands>        </server>    </servers></config>

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

call F:uincall-cloud-service	est-deployvue-package.batcall F:uincall-cloud-service	est-deployzip.batjava -jar F:uincall-cloud-service	est-deployjavaauto.jar F:uincall-cloud-service	est-deploywebConfig.xmlecho 上传并解压完毕pause

  。

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

成功上传并解压 。

java 一键部署 jar 包和 war 包

以上就是java 一键部署 jar 包和 war 包的详细内容,更多关于java 部署 jar 包 war 包的资料请关注我其它相关文章!,希望大家以后多多支持我! 。

原文链接:https://www.jianshu.com/p/dfbe8b576924 。

最后此篇关于java 一键部署 jar 包和 war 包的文章就讲到这里了,如果你想了解更多关于java 一键部署 jar 包和 war 包的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com