做网站昆明,遨游建设网站,自媒体wordpress主题分享,校园网站建设方案书背景#xff1a;
jenkins在linux的docker环境内#xff0c;应用服务部署在windows。需要使用jenkins实现自动化部署。
实现方式#xff1a;
jenkins上构建pipeline任务#xff0c;脚本如下#xff1a; 遇到问题#xff1a;
1、问题#xff1a;jenkins 调用部署bat脚…背景
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脚本中进行等待处理