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

相关推荐
青禾8373 小时前
Linux 操作系统入门指南:从目录结构到常用命令
linux·运维·服务器
zhengqweasd4 小时前
流量没跑满、带宽空闲,业务依然卡顿
运维·服务器·网络
Y3815326625 小时前
Docker Compose 服务依赖与健康检查:healthcheck 让容器按正确顺序启动
运维·docker·容器
稳联技术老娜5 小时前
伺服内嵌EtherNet IP方案:嵌入式小板SPI通讯固件Demo程序适配改造
运维·服务器·网络
en.en..6 小时前
Linux系统编程:fcntl 与 ioctl
linux·运维·服务器
荣合技术服务7 小时前
Codex 实战:用 AI 写运维脚本
运维·codex
李昊哲小课7 小时前
Deepin 25 上安装 Docker CE 实战记录
运维·docker·容器·deepin
pingglala7 小时前
ubuntu-nat模式不能上网解决方法
linux·运维·ubuntu
一技安身8 小时前
【信创】外网aarch64终端安装deepseek Ragflow 迁移至内网银河麒麟服务器
运维·服务器
考虑考虑8 小时前
ElasticSearch索引命令
运维·后端·elasticsearch