使用场景
maven项目自动清除并重新打成war包,上传到远程服务器目录下,避免了手动的失误,也节省了时间
bat脚本
REM 关闭回显,不显示正在执行的批处理命令及执行的结果
echo off
REM 声明采用UTF-8编码,解决中文乱码
chcp 65001
REM 项目所在路径,定义的一些变量
set filePath=/d maven项目所在路径
set warPath=%filePath%\target\
set warFileName=生成的war包名
set fileType=.war
set warFilePath=%warFileName%%fileType%
set localLinuxPath=/d 本地自定义的路径,用于备份各版本的war包
set linuxPath=root@远程服务器IP地址:/服务器war包要copy到的目录
REM 开始
echo 项目部署开始
REM mvn clean
cd %filePath%
call mvn clean
echo mvn clean执行成功。。。
REM mvn package
cd %filePath%
call mvn package
echo mvn package执行成功。。。
REM 重命名
cd %localLinuxPath%
if exist %warFilePath% (
REM 将已存在的war包重命名 (projectName.war -> projectName_yyyymmss.war)
ren %warFilePath% %warFileName%_%date:~3,4%%date:~8,2%%date:~11,2%%fileType%
echo %warFilePath%重命名成功。。。
)
REM copy 复制到本地路径保存
cd %warPath%
copy %warFilePath% %localLinuxPath%
echo %warFilePath% 复制成功。。。
REM war包上传到远程
cd %localLinuxPath%
pscp -P 22 -pw 密码 %warFilePath% %linuxPath%
echo %warFilePath% 上传成功。。。
pause