jenkins部署服务到windows系统服务器

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 "计划任务名称"

表示理解重启该计划任务

相关推荐
Nebula_g12 小时前
JavaSE加强:Stream流
java·开发语言·windows·stream·javase·流
元Y亨H14 小时前
宿主机 SSH 免密已通,为何 Jenkins 流水线仍报 Permission denied?
jenkins
在角落发呆15 小时前
软件配置备份方法:从手动到自动化的实践指南
windows·安全
lingchen190616 小时前
Win 11 系统语言栏悬浮于桌面上影响操作感受,怎么取消?
windows
梅孔立17 小时前
Windows PowerShell 升级 Pi-Coding-Agent + OpenCode,解决 OpenCode 二进制无效报错
windows
东木月19 小时前
Windows C 盘清理指南:安全删除临时文件、缓存与 Prefetch
c语言·windows·安全
落魄大学生之流水线上谋生计19 小时前
从 Jenkins 小白到企业级交付平台
运维·jenkins
水饺编程19 小时前
第1章,[Win32 章节]:Windows 的方方面面
c语言·c++·windows·visual studio
超级大福宝20 小时前
VS Code Remote-SSH 因 RemoteForward 端口冲突导致连接失败的排查与解决
运维·服务器·windows·vscode·ssh
Vex2une21 小时前
Windows PowerShell 发展史:从命令行工具到自动化核心
windows·自动化运维·命令行·powershell·cmd·脚本语言·对象管道