jenkins 使用 ssh-agent向windows进行部署

背景:

jenkins在linux的docker环境内,应用服务部署在windows。需要使用jenkins实现自动化部署。

实现方式:

jenkins上构建pipeline任务,脚本如下:

遇到问题:

1、**问题:**jenkins 调用部署bat脚本出现在windows服务器使用jps命令查询不知道java程序问题,导致每次部署时bat脚本找不到对应jar包的程序进行删除,从而无法进行重新部署。但是登录服务器后直接执行bat脚本没有问题。

**问题总结:**windows有控制同一用户不能多端登录系统,通过ssh创建的程序被权限隔离成其他用户的程序,导致无法看见。

**解决方式:**jps -l 命令换成 vmic process where "name = 'javaw.exe' and commandline like %jarname% get processid | findstr "[0-9]""

2、**问题:**windows没有linux 的nohup命令,需要改用start /B cmd /c 进行后台服务处理,但是使用后出现后端启动的程序会随着jenkins的ssh连接关闭而自动关闭。

解决方式:

cmd /c 调用bat脚本后等待1分钟后台程序全部启动后在强制断开ssh连接。--待改进,在bat脚本中进行等待处理

相关推荐
J2虾虾4 小时前
Docker启动超时,吓得我一身汗
运维·docker·容器
一生只为赢5 小时前
通俗易懂:ARM指令的寻址方式(三)
运维·arm开发·数据结构·嵌入式实时数据库
运维行者_5 小时前
2026 技术升级,OpManager 新增 AI 网络拓扑与带宽预测功能
运维·网络·数据库·人工智能·安全·web安全·自动化
液态不合群6 小时前
Nginx多服务静态资源路径冲突解决方案
运维·nginx
Getgit6 小时前
Linux 下查看 DNS 配置信息的常用命令详解
linux·运维·服务器·面试·maven
数通工程师6 小时前
企业级硬件防火墙基础配置实战:从初始化到规则上线全流程
运维·网络·网络协议·tcp/ip·华为
岁岁种桃花儿7 小时前
详解kubectl get replicaset命令及与kubectl get pods的核心区别
运维·nginx·容器·kubernetes·k8s
捷智算云服务7 小时前
告别运维割裂!捷智算GPU维修中心重新定义“全栈式”维修新标准
运维·服务器·性能优化
青火coding7 小时前
SOFAServerless架构的意义
java·运维·中间件·架构·serverless
橘颂TA8 小时前
【Linux 网络】TCP 拥塞控制与异常处理:从原理到实践的深度剖析
linux·运维·网络·tcp/ip·算法·职场和发展·结构与算法