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

相关推荐
研华科技Advantech5 小时前
案例 | 从离线巡检到在线看护:研华PHM解决方案赋能石油钻井平台智能运维
运维·人工智能·边缘计算
難釋懷5 小时前
Nginx主动健康检查
运维·nginx
ITyunwei09875 小时前
内存溢出报错,实战处理记录
运维·服务器·企业微信
Elastic 中国社区官方博客5 小时前
你的 AI agent 不需要你的 API 密钥:使用 OAuth 2.1 对 Elasticsearch MCP 服务器进行身份验证
大数据·运维·人工智能·elasticsearch·搜索引擎·全文检索
FreeTinker5 小时前
AP AC组网中的远程运维挑战及内网穿透技术应用分析
运维
Huangjin007_7 小时前
【Linux 系统篇(十五)】进程 (三) :进程状态深度详解
linux·运维
RisunJan7 小时前
Linux命令-talk(终端实时对话)
linux·运维·服务器
整点bug7 小时前
AI 运维该不该自动执行命令?
运维·ssh·openai
Kurisu_红莉栖7 小时前
关于docker的使用心得
运维·docker·容器
三言老师8 小时前
Rocky Linux 8.6 整机系统备份与迁移方案文档文档用途
linux·运维·服务器·网络