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

相关推荐
志栋智能7 分钟前
超自动化安全:释放安全专家创造力的钥匙
运维·服务器·网络·人工智能·自动化
用什么都重名7 分钟前
Ubuntu 24.04 开机无法进入图形界面:GDM 报「no session desktop files」的排查与修复
linux·运维·ubuntu
水彩橘子10 分钟前
kea dhcp 服务器HA 配置
运维·服务器
Drache_long15 分钟前
Docker(二)
运维·docker·容器
实心儿儿18 分钟前
C++ —— 进程控制 - 进程程序替换
linux·运维·服务器
SilentSamsara23 分钟前
Service 与 Ingress:从 ClusterIP 到云厂商 ALB 的完整流量路径
linux·运维·服务器·微服务·kubernetes·k8s·运维开发
晓庆的故事簿40 分钟前
【无标题】
elasticsearch·jenkins
霸道流氓气质44 分钟前
Bat中实现简单运维脚本示例-启动redis、检测指定端口是否占用、占用则杀死进程、等待指定秒数、启动jar包
运维·redis·jar
生万千欢喜心1 小时前
linux 安装 Elasticsearch Kibana
linux·elasticsearch·jenkins
qq_348231851 小时前
Ubuntu 24.04 环境配置 AI自动化编程 gstack
linux·运维·人工智能·ubuntu