jenkins部署报错Exec exit status not zero. Status [-1]

小灰灰 2023-06-30 09:07 153阅读 0赞

今天使用jenkins部署程序发现部署过程总会在unzip之后ssh断开

检查脚本后发现,unzip之后是kill操作

  1. shellkill -9 `ps -ef |grep "$projectName" | awk '{print $2}'`

该命令过滤过于暴力,把该项目的jenkins线程也grep出来一并kill掉了,导致ssh断开— status[-1]非正常中断。

看了网上的文章,增加了对“java”关键字的过滤,希望能把jenkins排除掉,改为

  1. shellkill -9 `ps -ef |grep "$projectName" |grep java| awk '{print $2}'`

然而还是无效。将ps结果echo出来发现,jenkins的ssh指令中附带了全部的部署脚本,所写的脚本都会附在指令中,因此不管怎么修改脚本都是会被grep命中。

最终解决方式是将kill写到项目中的kill.sh放在机器上,jenkins中执行sh /$projectFolder/kill.sh。

这样就不会命中jenkins线程了

发表评论

表情:
评论列表 (有 0 条评论,153人围观)

还没有评论,来说两句吧...

相关阅读