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脚本中进行等待处理

相关推荐
叠叠乐2 分钟前
EasyTier 免费自建自用5$每个月的服务器
linux·运维·bash
草莓熊Lotso4 分钟前
Qt 核心事件系统全攻略:鼠标 / 键盘 / 定时器 / 窗口 + 事件分发与过滤
运维·开发语言·c++·人工智能·qt·ui·计算机外设
玄〤10 分钟前
Elasticsearch进阶实战:JavaRestClient操作索引与文档及海量数据批处理指南(黑马商城)(黑马微服务课day13)
elasticsearch·搜索引擎·微服务·jenkins
DeeplyMind8 小时前
第12章 Docker存储机制(重要)
运维·docker·容器
鸠摩智首席音效师9 小时前
如何在 Linux 中将文件复制到多个目录 ?
linux·运维·服务器
香蕉你个不拿拿^9 小时前
Linux进程地址空间解析
linux·运维·服务器
人间打气筒(Ada)9 小时前
Linux学习~日志文件参考
linux·运维·服务器·学习·日志·log·问题修复
OpsEye11 小时前
交换分区优化实战:从监控到调优,让系统告别卡顿
运维·it·监控·告警·swap·监控系统·交换分区
大熊程序猿11 小时前
metabase 报表使用
运维
feichang_notlike312 小时前
Windows (WSL2) 搭建 openclaw
运维