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

相关推荐
贾斯汀玛尔斯6 小时前
每天学一个算法--单调栈(Monotonic Stack)
运维·服务器·算法
hhb_6186 小时前
Linux底层运维自动化挂载与磁盘分区实战指南
linux·运维·自动化
SpikeKing7 小时前
Server - 配置 SQLBot 智能问数项目
运维·server·sqlbot
cui_ruicheng7 小时前
Linux库制作与使用(二):ELF文件与链接过程
linux·运维·服务器
怀旧,7 小时前
【Linux系统编程】18. Linux进程信号(上)
linux·运维·服务器
舰长1157 小时前
Windows服务器修改默认远程端口3389
运维·服务器
minji...7 小时前
Linux 线程同步与互斥(五) 日志,线程池
linux·运维·服务器·开发语言·c++·算法
Dillon Dong8 小时前
【系列主题】从 Docker 构建失败看依赖隔离:多阶段构建的“隐形陷阱”
运维·docker·容器
云飞云共享云桌面8 小时前
精密机械制造工厂研发部门使用SolidWorks和ug,三维设计云桌面如何选择?
大数据·运维·服务器·网络·数据库·人工智能·制造
网络小白不怕黑9 小时前
1.2 VMware部署Rocky Linux 9 (MBR分区表,图形化安装)
linux·运维·服务器