天天看点

Java 本地war包自动部署到远程Linux系统上Java 本地war包自动部署到远程Linux系统上

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
           

脚本逻辑

  1. 本地打包好war包
  2. 通过winscp将本地的war包复制到远程服务器上
  3. 再通过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