Java 本地war包自动部署到远程Linux系统上
使用工具
1.WINSCP
windows平台下,通过ssh协议复制东西到linux服务器的工具。也支持命令行的形式。下载地址 https://winscp.net/eng/download.php (页面很多广告)
2.PUTTY
可以在windows平台通过ssh连接到linux的工具。putty在windows平台可以通过命令行的形式执行。下载地址 https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
脚本逻辑
- 本地打包好war包
- 通过winscp将本地的war包复制到远程服务器上
- 再通过putty连接服务器执行部署脚本
步骤
一.、打包
可通过maven打包,我是直接用idea的打包工具
二、 war包上传服务器,服务器执行部署脚本(服务器环境为linux + docker)脚本如下:
1、windows本地脚本(.bat)
cd C:\Program Files (x86)\WinSCP
WinSCP.exe /script="C:\Program Files (x86)\WinSCP\uploaScript.sh"
cd /d D:\program files\PuTTY
PUTTY.EXE -ssh -pw 密码 用户名@服务器IP -m serverScript.sh
TIMEOUT /T 50
脚本解释:切换到WinSCP目录,运行WinSCP软件后执行 uploaScript.sh 脚本。再切换到PUTTY安装目录,运行PUTTY软件后连接服务器并执行 serverScript.sh 脚本。
(注意:serverScript.sh脚本存放目录需在putty程序的相同目录中)
2、 WinSCP 上传文件脚本 (uploaScript.sh)
open sftp://用户名:密码@IP:port
put E:\IdeaProjects\20190807\b-20171120\hyh-System\target\hyh-system.war
exit
脚本解释:连接服务器(账号 密码 IP 端口),上传文件。(文件将存放在登入用户下的目录)
3、远程服务器将执行的脚本(serverScript.sh)
cp /home/lwf/hyh-system.war /home/tomcat/webapps-7001
docker restart tomcat-7001
脚本解释:将war包复制到对应的docker容器目录下,重启tomcat
参考:https://www.cnblogs.com/ELMND/p/4838257.html