项目打包部署脚本-Windows-CMD-批处理指令

本文分享了一位开发者如何通过编写批处理脚本来实现一键发版的过程,包括从仓库拉取代码、MVN打包、服务器操作等步骤,大幅提高了部署效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

因为在项目上经常需要打包发布新的版本,每天重复相同的工作很繁琐(其实就是想偷懒),所以想着用命令直接一键打包部署,经过一番尝试终于成了写出了一个脚本。

一、发版过程:

1、从仓库拉取最新代码

2、MVN打包编译

3、关闭服务器

4、备份

5、拷贝新的war包

6、启动服务器

二、转换成cmd命令

E:
cd E:\ferry\hw-leasing
git checkout dev_service
git pull 
mvn clean install
D:
cd D:\Program Files\apache-tomcat-8.5.29-test\bin
shutdown.bat
cd ..
cd webapps
rd/s/q test
del test.war.%date:~0,4%%date:~5,2%%date:~8,2%
rename test.war test.war.%date:~0,4%%date:~5,2%%date:~8,2%
copy "E:\ferry\hw-leasing\core\target\core.war" "D:\Program Files\apache-tomcat-8.5.29-test\webapps\test.war"
cd D:\Program Files\apache-tomcat-8.5.29-test\bin
startup.bat

三、命令解释

E:             ::定位到E盘
cd E:\ferry\hw-leasing   ::定位到源码目录
git checkout dev_service  ::切换至dev_service分支
git pull           ::拉取最新代码
mvn clean install   ::MVN打包发版
D:             定位到D盘
cd D:\Program Files\apache-tomcat-8.5.29-test\bin  ::定位到服务器目录
shutdown.bat        ::关闭服务器
cd ..              ::定位到上级目录
cd webapps         ::定位到下级目录
rd/s/q test        ::删除项目目录 强制删除子文件夹,不用询问你是否确定
del test.war.%date:~0,4%%date:~5,2%%date:~8,2%      ::删除文件(注意与删除文件夹的区别)
rename test.war test.war.%date:~0,4%%date:~5,2%%date:~8,2%   ::重命名加系统当前日期后缀(当作版本号)
copy "E:\ferry\hw-leasing\core\target\core.war" "D:\Program Files\apache-tomcat-8.5.29-test\webapps\test.war"    ::将打包后的WAR包拷贝到服务器的相关目录下
cd D:\Program Files\apache-tomcat-8.5.29-test\bin 
startup.bat     :: 启动服务器

 四、批处理

将脚本写在txt中,然后将txt后缀改成.bat然后双击执行就好了,如下图所示:

五、总结

 使用脚本后确实效率高了很多,省掉了文件复制删除重命名的麻烦;

写脚本的过程中也经常出错,比如删除war包错用删除文件夹命令,使用copy命令后面两个路径中如果含有空格要加引号;因为要备份文件也就是将原来的war包加上后缀版本号重命名,但是有的时候一天打包两次就会出现重名文件,所以在备份的时候要先删除(此处我觉得没有必要保留那么多版本所以直接删除了,大家可以想别的办法备份);

要写的就这么多了,晚安~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值