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

相关推荐
jarreyer5 分钟前
CentOS 7 无法使用 yum 安装软件
linux·运维·centos
脆皮的饭桶25 分钟前
结合使用,实现IPVS的高可用性、利用VRRP Script 实现全能高可用
运维·服务器·网络
RisunJan2 小时前
Linux命令-md5sum(计算和校验文件报文摘要的工具程序)
linux·运维
抹茶咖啡2 小时前
IT运维的365天--042 骚操作之--用IPSec给远程桌面上把锁
运维·网络·it运维
王琦03182 小时前
第三章 linux文件类型和根目录结构
linux·运维·服务器
minji...2 小时前
Linux 文件系统 (三) 软连接和硬链接
linux·运维·服务器·c++·算法
好像不对劲3 小时前
【docker】win10 wsl docker不能挂GPU
运维·docker·容器·wsl
落日漫游3 小时前
MySQL双活与备份:高可用实战指南
运维
江畔何人初4 小时前
Docker、containerd、CRI、shim 之间的关系
运维·docker·云原生·容器·kubernetes
idolao5 小时前
CentOS 7 安装 nginx-1.3.15.tar.gz 详细步骤(从源码编译到启动配置)
linux·运维·数据库