1、安装openSSH
windows默认不支持ssh协议,需要下载安装,主要适用于jenkins传输文件已经执行命令使用
点击查看下载openSSH
2、项目配置
这里简单说说怎么配置,主要解决点就是ssh执行cmd或shell命令时不能开启新窗口导致应用部署失败或者断开ssh连接之后程序关闭,我试了很多遍行用ssh开启新窗口执行但都已失败告终,这里介绍一种方法用windows系统计划任务来做,尝试了两种第一种就是用命令去创建计划任务并执行(不好,执行时间不好解决,有时能行有时不行),第二种是自己创建计划任务,文件传输之后命令执行该计划任务(完美)。
创建计划任务
以下是我的计划任务配置,操作就是java -jar jar包,触发器开机自启就行,比较简单,主要步骤是当打包完成之后用命令启动这个计划任务,这些步骤在之后有。
项目配置
上图就是项目的大概配置了,是一个gradle项目,打包传输启动,主要就是这三步,要是linux环境就简单很多。
注意点1
在打包完成后我执行了一个D:\maxkey\maxkey-back-stop.bat脚本,先说一下这个脚本的作用,主要是用于停止计划任务,不然无法删除老的jar包,因为jar正在使用中。
maxkey-back-stop.bat脚本
bat
@echo "结束maxkey后端"
set TASK_NAME=maxkey-back-start
set JAR_PATH=D:\maxkey\maxkey-back\maxkey-boot-4.0.3-ga.jar
rem 停止计划任务
schtasks /end /tn "maxkey-back"
setlocal enabledelayedexpansion
rem 结束程序所在的端口
for /f "tokens=5 delims= " %%P in ('netstat -ano ^| findstr :9527') do (
set "PID=%%P"
taskkill /F /PID !PID!
)
rem 删除旧jar包
del "D:\maxkey\maxkey-web-maxkey-3.5.18.jar"
@echo "结束maxkey后端完成"
注意点2
在jar传输到windows服务器后执行该计划任务就ok了,尝试了很多种方式这种方式比较好。
schtasks /run /tn "计划任务名称"
表示理解重启该计划任务